Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Информатике на Машфаке и ТЭА-1.doc
Скачиваний:
25
Добавлен:
12.11.2019
Размер:
3.28 Mб
Скачать
    1. Условные операторы

Для изменения порядка выполнения программного кода используются условные операторы

Условный оператор позволяет выбирать и выполнять действия в зависимости от истинности некоторого условия.

Имеется два варианта синтаксиса:

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

Что получим, если ничего не введем ?