Лабораторная работа №2 команды выполнения действий по условиям
Процедуры в Visual Basic могут проверять некие условия и затем, в зависимости от
результатов проверки, выполнять разные операции. Обычно условие является простым сравнением, но оно может быть любым выражением с вычисляемым значением. Visual Basic интерпретирует это значение как True (истина) или False (ложь).
Для записи разветвляющихся алгоритмов используется оператор If.
Он имеет две формы записи.
1. Однострочная запись:
If условие Then [оператор1] [Else оператор2]
Если условие, верно, то выполняется оператор 1, в противном случае выполняется оператор 2.
В условии записывается логическое выражение, которое использует операции сравнения.
Оператор сравнения |
Значение |
Пример |
= (знак равенства) |
Равно |
A1=B1 |
> (знак больше) |
Больше |
A1>B1 |
< (знак меньше) |
Меньше |
A1<B1 |
>= (знак больше и знак равенства) |
Больше или равно |
A1>=B1 |
<= (знак меньше и знак равенства) |
Меньше или равно |
A1<=B1 |
<> (знак «не равно») |
Не равно |
A1<>B1 |
Пример:
If A<0 then A=10 else A=A-1
Для создания сложных условий используются логические операции and (и) и or (или).
If A>0 and A<2 then A=10 else A=A-1
2. Многострочная запись:
If <условие> Then
[оператор1] Else
[оператор2]
End If
Если при выполнении условия должно быть выполнено несколько операторов, то применяется составной оператор:
If условие Then [оператор 1, оператор 2 и т.д.] [Else оператор1, оператор2 и т.д.] end if
Пример:
If A<0 then
S=S+1
A=10
Else
S=12
A=A+10
End if
Если при выполнении условия 1 должен быть выполнен оператор 1, а в противном случае при выполнении условии 2 должен быть выполнен оператор 2 и т.д., то применяется вложенный условный оператор:
If условие-1 Then [ оператор1]
[ElseIf условие-2 Then [оператор2] ...
[Else [оператор3]]
End If
End If
Оператор выбора
За счёт вкладывания одного условного оператора в другой, конструкция усложняется и становится тяжёлой для восприятия. В подобных случаях хорошей альтернативой оператору If служит оператор выбора Select Case, который позволяет выбрать одно из нескольких возможных продолжений программы. Оператор Select Case удобно использовать, когда в зависимости от значения некоторого выражения, имеющего конечное множество допустимых значений, необходимо выполнить разные действия. Он также относится к условным операторам, но имеет другой вид:
Select Case <Выражение>
Case <3начение 1>
<оператор 1>
[Case <3начение N>
<оператор N>]
[Case Else
<оператор N+1,]
End Select
Вначале вычисляется выражение. Полученное значение последовательно сравнивается со всеми значениями в предложениях Case. Если получено равенство, т.е. Выражение = 3начение, то выполняются действия после соответствующего предложения Case. Если Выражение не совпадает ни с одним значением, то выполняется оператор, стоящий после Case Else.
Тип Значений должен совпадать с типом проверяемого Выражения.
Пример:
Select Case A
Case l
В = "А равно 1"
Case 2
В = "А равно 2"
Case Else
В = "Переменная А не равна 1 или 2"
End Select
В области Значение можно указать не одно, а диапазон значений.
Если в области Значение находится условие, то необходимо использовать ключевое словосочетание Case Is < условие>.
Пример:
Select Case Range("B 1")
Case ""
Range("Bl") = 0
Case Is > 100
Range ("Bl") = 100
Case 8 to 16
Range("Bl") = 0
End Select