Dim x As Single, n As Single, y As Single
'Ввод исходных данных
x = Val(InputBox("Введите x "))
n = Val(InputBox("Введите n"))
'Проверка условий и расчет значений
If x >= 0 And n >= 0 Then y = Sqr(x)
If x < 0 And n < 0 Then y = n * x + 2
MsgBox ((“y=” & y)'Вывод результата
End Sub
Пример 3 программы вычисления значения функции yс вложенным оператором If:
.
Private Sub CommandButton1_Click()
Dim x As Single, y As Single
x = Val(InputBox("Ввелите x "))
If x<0 Then y =x+5 Else If x<=5 Then y=Sqr(3*x) Else y =x^2
MsgBox (y)
End Sub
Пример 4 (использование блочного оператора If).Вычислить значения y=sin2x, w=ctgx, если х <5; y=1-sinx, w=arctgx, если х ³ 5.
х={9; 0.1; -4; 5; 12}
Private Sub CommandButton1_Click()
Dim x As Single, y As Single, z As Single
Dim w As Single, I As Integer
For i=1 to 5
x = Val(InputBox("Введите значение х"))
'Проверка условий и расчет значений
If x > 5 Then
y = Sin(x)^2
w = cos(x)/sin(x)
Else
y = 1 - Sin(x)
w = Atn(x)
End If
MsgBox (“x=” & x & “ y=” & y & “ w=” & w)
Next
End Sub
Пример 5. Вычислить значение функции n:
, x=1,7 s=5,2 значение j задать самостоятельно.
Оформим Лист2 согласно образцу (рис. 6.1). Переименуем «Лист2» в «Условный оператор», вставим расчетные формулы и введем исходные данные.
Рис. 6.1 − Образец оформления программы с разветвлением на листе Excel
Для кнопки «Расчет If» напишем следующую процедуру:
Private Sub CommandButton1_Click()
Worksheets("Условный оператор").Range("c2") = "Вычисления с разветвлением" ‘вносит текст в ячейку «С2» листа «Условный оператор»
Dim x As Single, s As Single, v As Single, j As Single
x=Val(InputBox(“Введите значение х”))
s=Val(InputBox(“Введите значение s”))
j = Worksheets("Условный оператор ").Range("i19")
If x * j < 2 * s Then v = Cos(x * j) ^ 2 Else If x * j >= 2 * s And _
x * j <= 3 * s Then v = 2 * Tan(j * x) Else v = 5 - Exp(x / 2)
MsgBox ("Значение v=" & Format(v, "##.####"))
End Sub
Для проверки результата вычисления надо ввести в ячейку D23 формулу:
=ЕСЛИ(D19*I19<2*F19;COS(I19*D19)*COS(I19*D19);ЕСЛИ(И(D19*I19>=2*F19;D19*I19<=3*F19);2*TAN(I19*D19);5-EXP(D19:D19/2)))
Результат вычислений, полученный с помощью формул Excel и процедуры VBA должен совпасть.
Содержание заданий
1. Выполнить приведенные выше примеры программ с разветвлением.
2. Составить программу по условиям, приведенным в табл. 6.1.
Таблица 6.1
№ | Формула для вычислений | Исходные данные |
ВЫЧИСЛЕНИЕ СУММ, ПРОИЗВЕДЕНИЙ, ЭКСТРЕМУМОВ
Рассмотрим примеры, демонстрирующие возможности использования в программах операторов цикла и условных операторов.
Примеры вычисления сумм и произведений
Пример 1. Программа вычисления суммы элементов
b = {5, 2; 4,5; 1; 2,9; 3}.
Sub CommandButton1_Click()
Dim b As Single, s As Single, i As Integer
s = 0
For i = 1 To 5
b = Val(InputBox(«Введите элемент массива b»))
s = s + b
Next
MsgBox (“Сумма элементов массива равна= ” & s)
End Sub
Здесь элементы b вводятся с клавиатуры по одному числу, сумма чисел вычисляется в переменной s.
Пример 2. Программа вычисления произведения элементов
t = {0,4; -1,5; 2,8; 3; 0,9; 7,3}и значения w в соответствии с формулой:
Sub CommandButton2_Click()