Реализация разветвляющихся алгоритмов в VBA

Содержание

Слайд 2

Для организации ветвлений в VBA введены операторы условного и безусловного переходов.

Для организации ветвлений в VBA введены операторы условного и безусловного переходов.

Слайд 3

Выбор с помощью оператора If…Then Инструкция If…Then имеет две синтаксические формы.

Выбор с помощью оператора If…Then

Инструкция If…Then имеет две синтаксические формы.
Первая

из них – наиболее простая записывается так:
If <условие> Then <оператор>
Слайд 4

Алгоритм работы: Вычисляется логическое выражение. Если результат – истина, т.е. True,

Алгоритм работы:
Вычисляется логическое выражение.
Если результат – истина, т.е. True, выполняется оператор,

записанный после ключевого слова Then и выполняется переход к следующей строке.
Если результат – ложь, т.е. False, то сразу выполняется переход к следующей строке.
Слайд 5

Замечание После ключевого слова Then можно писать несколько операторов, но все

Замечание
После ключевого слова Then можно писать несколько операторов, но все

они должны уместиться на одной строке.
Слайд 6

Выбор с помощью оператора If…Then 2) Вторая форма инструкции If…Then называется

Выбор с помощью оператора If…Then

2) Вторая форма инструкции If…Then называется блоком

If.
В ней условие и инструкции размещаются в отдельных строках:
If <Условие> Then
<операторы>
End If
Слайд 7

Алгоритм работы схожий с предыдущей инструкцией. В случае, если логическое выражение

Алгоритм работы схожий с предыдущей инструкцией.
В случае, если логическое выражение

имеет значение True, то выполняются операторы между Then и End If, в противном случае они игнорируются и управление передается на строку, после End If.
Слайд 8

Выбор с помощью оператора If…Then…Else Оператор If…Then…Else имеет две формы записи.

Выбор с помощью оператора If…Then…Else

Оператор If…Then…Else имеет две формы записи.
1)

Первая из них – однострочная:
If <условие> Then <оператор1> Else <оператор2>
Слайд 9

Действие этого операторы зависит от значения логического выражения. Если оно истинно,

Действие этого операторы зависит от значения логического выражения. Если оно истинно,

т.е. имеет значение True, то выполняется оператор или операторы, если их несколько, записанные после ключевого слова Then.
В противном случае выполняется оператор или операторы, если их несколько, записанные после ключевого слова Else. Все должно быть записано в одной строке.
Слайд 10

Блоковая инструкция If…Then…Else снимает ограничение однострочной записи. Общий синтаксис ее имеет

Блоковая инструкция If…Then…Else снимает ограничение однострочной записи. Общий синтаксис ее имеет

следующий вид:
If <условие> Then
<операторы ветви Then>
Else
<операторы ветви Else>
End If
Слайд 11

Осуществление сложного выбора Сложный выбор имеет место, если в качестве оператора

Осуществление сложного выбора

Сложный выбор имеет место, если в качестве оператора на

ветви Then или ветви Else оператора If снова записывается оператор If. При этом не существует ограничений на глубину их вложенности. Если используется конструкция Else, то она относится к ближайшему If..
Слайд 12

В VBA предусмотрена также упрощенная версия инструкции If…Then…Else, которая имеет следующий

В VBA предусмотрена также упрощенная версия инструкции If…Then…Else, которая имеет следующий

синтаксис:

If <условие 1> Then
<операторы ветви Then>
ElseIf <условие2>
<операторы ветви ElseIF>
[Else
<операторы ветви Else>]
End If

Слайд 13

Применение инструкции Select Case В общем виде синтаксис инструкции Select Case

Применение инструкции Select Case

В общем виде синтаксис инструкции Select Case имеет

следующий вид:
Select Case <Тест>
Case <значение 1>
<оператор 1>
Case <значение 2>
<оператор 2>
……………
Case <значение N>
<оператор N>
[Case Else
<оператор Else>]
End Select
Слайд 14

В операторе – это выражение типа: числовые, строковые, логические. В отдельных

В операторе <Тест> – это выражение типа: числовые, строковые, логические. В

отдельных разделах Case могут стоять одно или несколько выражений, разделенных запятыми. Возможно также применение конструкции диапазона
<начальное значение> To <конечное значение>
В случае, когда производится сравнение какого-либо вида, используется следующий общий синтаксис
Case Is <операция сравнения> <выражение>
Слайд 15

Алгоритм работы следующий. Вычисляется выражение . Вычисленное значение сравнивается последовательно со

Алгоритм работы следующий.
Вычисляется выражение <Тест>.
Вычисленное значение сравнивается последовательно со значениями

в списке Case.
При совпадении выполняется соответствующий оператор.
Если нет совпадения, то выполняется <оператор Else>.
Далее выполняется оператор, записанный после End Select.
Слайд 16

Пример применения Select Case temperature Case Is > 100 MsgBox "Очень

Пример применения
Select Case temperature
Case Is > 100
MsgBox "Очень горячо"
Case 75 To

100
MsgBox "Нормально"
Case 50 To 74
MsgBox "Самый раз"
Case Is > 32
MsgBox "Маловато"
Case Else
MsgBox "Надо подогреть"
End Select