Dim x As Single, y As Single, w As Single, n As Single
End If
End If
Else
Строчный и блочный условные операторы
End Sub
Loop
Для проверки результатов вычислений с помощью формул Excel в ячейку D15 можно поместить формулу:
=КОРЕНЬ(B15^2+8*$J$7)*LN(B15+0,5)
Ее надо скопировать в ячейки D16:D19 и в ячейки I15:I23. Результат расчета с помощью VBA и Excel должен совпасть.
ПРОГРАММЫ С РАЗВЕТВЛЕНИЕМ. УСЛОВНЫЕ ОПЕРАТОРЫ (Задание 2)
Если некоторые действия в программе, например вычисления по формулам, должны происходить только при выполнении какого-либо условия, то такая программа имеет разветвление, которое обеспечивается условным оператором. Для записи проверяемого условия используются операции сравнения: > (больше), >= (больше либо равно), < (меньше), <= (меньше либо равно), = (равно), < > (не равно).
Каждое условие всегда имеет два значения – либо оно верно (True – правда), либо неверно (False – ложь).
Проверяемое условие может быть и сложным, состоящим из нескольких простых условий. Для записи сложного условия используются логические операции объединения: And – сложное условие верно, когда оба простых условия верны, иначе сложное условие будет ложным; Or – сложное условие верно, когда хотя бы одно из простых условий верно.
Объединяя условия логическими операциями And и Orв различных вариантах, можно составить сложное условие, например:
x >= 1 And x =< 10 Or x = 15
Это условие будет верно, если х находится внутри интервала [1:10] либо если х = 15.
Условный оператор имеет общий вид If…Then…Else… (если…тогда…иначе…) и в строчной форме записи представляет конструкцию:
If<условие>Then<оператор1>Else<оператор2>,
которая имеет следующий логический смысл: если условие выполняется, то нужно выполнить оператор 1, иначе – нужно выполнить оператор 2.
Например:
If Temper<10 Then MsgBox”Надеть куртку” Else MsgBox”Надеть ветровку”
Если в результате проверки условия должны выполняться несколько операторов, то условный оператор записывается в блочной форме в виде:
If <условие> Then
<операторы>
<операторы>
Блочный условный оператор заканчивается строкой с ключевыми словами End If.
В строчном и в блочном операторе может отсутствовать Else:
If <условие> Then
<операторы>
Если необходимо проверить более одного условия, то можно использовать вложение операторов If друг в друга.
Пример 1 программы вычислений по формулам с использованием строчного условного оператора If:
;
;
x = Val(InputBox(«Введите x»))
n = Val(InputBox(«Введите n»))
y = Exp(-2 * x) + 1
z = Log(x) / (x + 1)
If x < z ^ 2 Then w = Sqr(x * y) Else w = n * x + 2
Msgbox (“w=” & w)
В этой программе можно вывести результат в ячейку на рабочем листе Excel. Для этого вместо MsgBox следует записать
Worksheets(“Лист1”).Range(“a1”)=w
Значение w будет выведено в ячейку А1 на рабочем листе с именем Лист1.
Пример 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» листа «Условный оператор»