Программы с разветвлением. условные операторы
Если некоторые действия в программе, например вычисления по формулам, должны происходить только при выполнении какого-либо условия, то такая программа имеет разветвление, которое обеспечивается условным оператором. Для записи проверяемого условия используются операции сравнения: > (больше), >= (больше либо равно), < (меньше), <= (меньше либо равно), = (равно), < > (не равно)
Каждое условие всегда имеет два значения – либо оно верно (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
<операторы>
Else
<операторы>
End If
Блочный условный оператор заканчивается строкой с ключевыми словами End If.
Например:
If Temperatura<10 Then
MsgBox”Надеть куртку”
MsgBox”Надеть сапоги”
Else
MsgBox”Надеть ветровку”
MsgBox”Надеть кроссовки”
End If
В строчном и в блочном операторе может отсутствовать Else:
If <условие> Then
<операторы>
End If
Если необходимо проверить более одного условия, то можно использовать вложение операторов If друг в друга.
Пример 1 программы вычислений по формулам с использованием строчного условного оператора If:
; ;
Dim x As Single, y As Single, w As Single, n As Single
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.
Разветвляющиеся программы со сложными условиями
Пример 2 программы вычислений значения функции y со сложным условием.Значения n и xвводятся с клавиатуры:
.
Private Sub CommandButton1_Click()