ФИТ ПИН 12.06 Лабораторная работа №3 Разветвляющиеся вычислительные процессы. Соколова И. О. Лабораторная работа №3. Разветвляющиеся вычислительные процессы. Задание. Разработать алгоритм и составить по нему программу для вычисления значений функции z = f(x,y) в зависимости от попадания точки с координатами (х,у) в область D. Область D выделена серым цветом. 2 32 x y 3 , ( x, y ) D z ctgxy, ( x, y ) D 1 -1 0,5 2 -1,5 2 Реализация в Excel =ЕСЛИ( ИЛИ( (И((D13<=(-0,5)*C13+1);(D13<=1);(D13>=0))); (И((D13<=0);(D13>=(-0,5));(C13<=0,5);(C13>=-1)))); C13^(2/3)+D13^(2/3); 1/TAN(C13*D13)) 3 Реализация в VBA Rang: Private Sub CommandButton1_Click() 'начало функции Dim z, x, y As Single ' объявление z,x,y как вещественное одинарной точности x = Range("C13").Value ' x присваивается значение хранящееся в ячейке C13 y = Range("D13").Value ' y присваивается значение хранящееся в ячейке D13 If ((y <= (-0.5) * x + 1) And (y <= 1) And (y >= 0)) Or ((y <= 0) And (y >= -1.5) And (x <= 0.5) And (x >= -1)) Then 'условие при котором точка принадлежит данной фигуре z = x ^ (2 / 3) + y ^ (2 / 3) 'если точка принадлежит данной фигуре то вычислить z именно так Else ' иначе z = 1 / Tan(x * y) 'если точка z не принадлежит данной фигуре то вычислить значение z именно так End If ' конец условного оператора Range("E13").Value = z ' вывести в ячейку E13 значение z End Sub ' конец функции 4 Cells: Private Sub CommandButton2_Click()'начало функции Dim z, x, y As Single ' объявление z,x,y как вещественное одинарной точности x = Cells(13, 3).Value ' x присваивается значение хранящееся в ячейке C13 y = Cells(13, 4).Value ' y присваивается значение хранящееся в ячейке D13 If ((y <= (-0.5) * x + 1) And (y <= 1) And (y >= 0)) Or ((y <= 0) And (y >= -1.5) And (x <= 0.5) And (x >= -1)) Then 'условие при котором точка принадлежит данной фигуре z = x ^ (2 / 3) + y ^ (2 / 3) 'если точка принадлежит данной фигуре то вычислить z именно так Else 'иначе z = 1 / Tan(x * y) 'если точка z не принадлежит данной фигуре то вычислить значение z именно так End If ' конец условного оператора Cells(13, 5).Value = z ' вывести в ячейку E13 значение z End Sub ' конец функции 5 MsgBox: Private Sub CommandButton3_Click()'начало функции Dim z, x, y As Single ' объявление z,x,y как вещественное одинарной точности x = Cells(13, 3).Value ' x присваивается значение хранящееся в ячейке C13 y = Cells(13, 4).Value ' y присваивается значение хранящееся в ячейке D13 If ((y <= (-0.5) * x + 1) And (y <= 1) And (y >= 0)) Or ((y <= 0) And (y >= -1.5) And (x <= 0.5) And (x >= -1)) Then 'условие при котором точка принадлежит данной фигуре z = x ^ (2 / 3) + y ^ (2 / 3) 'если точка принадлежит данной фигуре то вычислить z именно так Else 'иначе z = 1 / Tan(x * y) 'если точка z не принадлежит данной фигуре то вычислить значение z именно так End If ' конец условного оператора MsgBox "z=" & CStr(z) ' вывести значение z End Sub ' конец функции 6 Оглавление Лабораторная работа №3. .......................................................................................................................... 2 Разветвляющиеся вычислительные процессы. .................................................................................... 2 Реализация в Excel ....................................................................................................................................... 3 Реализация в VBA ........................................................................................................................................ 4 Rang:.......................................................................................................................................................... 4 Cells: .......................................................................................................................................................... 5 MsgBox: ..................................................................................................................................................... 6 7