Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатика_4 / Использование Visual Basic for Applications / Использование Visual Basic for Applications.doc
Скачиваний:
104
Добавлен:
23.02.2015
Размер:
731.65 Кб
Скачать

5.8.3. Инструкции принятия решений

5.8.3.1. If...Then...Else

Эта инструкция задает выполнение определенных групп инструкций в зависимости от значения выражения. Ее синтаксис приведен ниже.

If условие Then инструкции [Else другие_инструкции]

В этом случае все инструкции должны быть записаны в одну строку и разделяться двоеточиями. Однако более предпочтительна иная, блоковая форма синтаксиса, которая имеет вид

If условие Then

[Инструкции]

[Else

[Другие инструкции]]

End If

Или блоковая форма расширенного синтаксиса:

If условие Then

[Инструкции]

[ElseIf другое условие Then

[Другие инструкции]]

[Else

[Третьи инструкции]]

End If

При этом предложение ElseIfThen может повторяться несколько раз, но ни одно такое предложение не должно находиться после блока Else.

Условие представляет собой логическое выражение, имеющее значение ИСТИНА или ЛОЖЬ. Если условие имеет значение ИСТИНА, то выполняется блок инструкций инструкции, т. е. тот блок, что следует за словом IfThen, т. е. после Если. При расширенном синтаксисе другие инструкции (те, что следуют за ключевым словом ElseIfThen), будут выполнены, если условие будет ложным, а другое условие — истинным. Блок инструкций, следующий за ключевым словом Else (иначе), будет выполнен лишь тогда, когда ни одно из условий не имеет значение ИСТИНА.

5.8.3.2. Select case

Это еще одна инструкция, использующаяся при проверке каких-либо условий. Она способна выполнять одну или несколько инструкций в зависимости от значения некоторого выражения. Ниже приведен ее синтаксис.

Select Case выражение

[Case первое_значение

[инструкции_1]]

[Case второе_значение

[инструкции_2]]

[Case Else

[инструкции_п]]

End Select

Выражение в этом случае может иметь любое числовое или строковое значение. В случае, если значение выражения совпадает со значением первое_значение, то выполняется набор инструкций инструкции_1, и так далее для любого числа значений. Если выражение не приняло ни одно из предусмотренных значений, и в инструкции предусмотрено необязательное предложение Case Else, то именно его инструкции и будут выполнены.

В предложении Case допускается использование нескольких выражений или диапазонов. Например, допустимым является следующее выражение: Case 1 To 5, 8 To 10, 15, 18, Is > 30.

Здесь ключевое cлово Is используется для замены выражения, стоящего после Select Case, т. е. инструкция будет выполнена, если значение выражения будет больше 30.

Приведем пример функции, вычисляющей размер налога ( 0%, 5%, 10%, 23%) на определенную сумму в зависимости от введенного параметра.

Function Nalog ( Value As Single, Par As Integer)_

As Single

Select Case Par

Case 0

Nalog = Value*0

Case 1

Nalog = Value*0.05

Case 2

Nalog = Value*0.1

Case 3

Nalog = Value*0.23

Case Else

Nalog = Value*0

End Select

End Function

Этот же самый пример можно оформить и другим способом с использованием инструкции If ... Else.

Function Nalog2(value As Single, par As Integer) As Single

If par = 0 Then

Nalog2 = value * 0

ElseIf par = 1 Then

Nalog2 = value * 0.05

ElseIf par = 2 Then

Nalog2 = value * 0.01

ElseIf par = 3 Then

Nalog2 = value * 0.23

Else

Nalog2 = value * 0

End If

End Function