Условные операторы
Для изменения порядка выполнения программного кода используются условные операторы
Условный оператор позволяет выбирать и выполнять действия в зависимости от истинности некоторого условия.
Имеется два варианта синтаксиса:
1) Строчная форма записи условного оператора:
IF <условное выражение>Then <операторы1> [Else <операторы2>]
Работа:
Если <условное выражение>принимает значение True, то выполняются <операторы1>после Then и управление передается оператору, следующему за условным оператором. Если <условное выражение>=False, то выполняются <операторы2> после Else и управление передается оператору, следующему за условным оператором. Ветвь Else является необязательной
2) Блочная форма записи оператора IF (оператор расположен на нескольких строках ):
IF < условное выражение 1>Then
<операторы 1>
[ElseIf < условное выражение–n>Then
[<операторы-n>]…
[Else
[<ИначеОператоры>]
End If
Работа:
Если <условное выражение1>принимает значение True, то выполняются <операторы 1> после Then, и управление передается оператору, следующему за условным оператором. Если <условное выражение1>=False, то при наличии конструкции [ElseIf < условное выражение–n>проверяется значение < условное выражение–n>. Если оно имеет значениеTrue, то выполняются[<операторы-n>]…и управление передается оператору, следующему за условным, в противном случае выполняются операторы [<ИначеОператоры>]после Else. Ветвь Else является необязательной.
На блок-схеме условные операторы отображаются следующим образом:
Пример 1
Вычислить, является ли введенное число четным
Public Sub Четное_число()
Dim s As Integer
s = Worksheets(1).Range("a1")
's = Worksheets("Лист1").Range("a1")
's = Worksheets(1).Cells(1, 1)
's = CInt(InputBox("Введите любое целое число"))
If s Mod 2 = 0 Then
Worksheets(1).Range("a2") = "Введенное число " & s & " является четным"
'MsgBox "Введенное число " & s & " является четным"
Else
Worksheets(1).Range("a2") = "Введенное число " & s & " является нечетным"
'MsgBox "Введенное число " & s & " является нечетным"
End If
End Sub
Пример 2
Вычислить
Public Sub aa()
Dim a As Double, f As Double
Dim i As Integer
a = Worksheets(2).Range("b1")
i = Worksheets(2).Range("b2")
If i Mod 2 = 0 And a > 0 Then
f = i * Sqr(a)
ElseIf i Mod 2 <> 0 And a < 0 Then
f = 0.5 * i * Sqr(Abs(a))
Else
f = Sqr(Abs(i * a))
End If
Worksheets(2).Range("a3") = "Результат"
Worksheets(2).Range("a4") = "f="
Worksheets(2).Range("b4") = f
End Sub
Пример 3 Вложенные операторы If
Public Sub Возраст1()
intВозраст = InputBox("Укажите возраст")
If intВозраст > 7 Then
If intВозраст <= 17 Then
MsgBox ("Школьник")
Else
MsgBox "Взрослый"
End If
Else
MsgBox "Дошкольник"
End If
End Sub
Пример 4 Эквивалентом вложенных операторов операторов If является оператор If …Then … ElseIf, в котором используется ключевое слово ElseIf
Public Sub Возраст2()
intВозраст = InputBox("Укажите возраст")
If intВозраст < 7 Then
MsgBox "Дошкольник"
ElseIf intВозраст <= 17 Then
MsgBox ("Школьник")
ElseIf intВозраст <= 23 Then
MsgBox ("Студент")
ElseIf intВозраст <= 55 Then
MsgBox ("Специалист")
Else
MsgBox "Пенсионер"
End If
End Sub
Что получим, если ничего не введем ?
Дата добавления: 2015-08-08; просмотров: 1085;