Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб5_Visual Basic.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
346.62 Кб
Скачать

1.3. Условный оператор If...Then...Else

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

Имеет две формы синтаксиса:

однострочную:

If Условие Then [Инструкции] Else [Инстр-ции для обработки ложного Условия]

и блоковую:

If Условие Then

[Инструкции для обработки истинного Условия]

Else

[Инструкции для обработки ложного Условия]

End If

Оператор If…Then…Else выполняется следующим образом:

1. Вычисляется значение Условия (выражения логического типа).

2. Если значение условия истинно, то выполняются инструкции, следующие за словом Then. Если значение условия ложно, то выполняются инструкции, следующие за словом Else.

Пример. Найти максимальное из трех целых чисел.

3-й способ:

Dim a As Integer, b As Integer, c As Integer, max As Integer

a = InputBox("Введите первое число", "Ввод данных")

b = InputBox("Введите второе число", "Ввод данных")

c = InputBox("Введите третье число", "Ввод данных")

If a > b Then max = a Else max = b

If c > max Then max = c

MsgBox "Максимальное число равно " & Str(max),vbInformation, "Результат"

4-й способ:

Dim a As Integer, b As Integer, c As Integer, max As Integer

a = InputBox("Введите первое число", "Ввод данных")

b = InputBox("Введите второе число", "Ввод данных")

c = InputBox("Введите третье число", "Ввод данных")

If a > b Then

If a > c Then max = a Else max = c

Else

If b > c Then max = b Else max = c

End if

MsgBox "Максимальное число равно " & Str(max),vbInformation, "Результат"

1.4. Условный оператор If...Then...ElseIf

Дерево условий может оказаться гораздо более сложным, чем просто проверка одного условия. В этом случае используется оператор If…Then…ElseIf, который позволяет проверять множественные условия.

If Условие_1 Then

[Инструкции для обработки истинного Условия_1]

ElseIf Условие_2 Then

[Инструкции для обработки истинного Условия_2]

[ElseIf Условие_3 Then

[Инструкции для обработки истинного Условия_3]]

...

[Else

[Инструкции_для_ложности_всех_Условий]]

End If

Первым проверяется Условие_1. Если оно имеет значение True, то выполняются Инструкции и далее работа программы продолжится со строки, которая следует за ключевым словом End If. Если условие Условие_1 возвращает значение False, то проверяется Условие_2 и т.д., пока не встретится условие, возвращающее значение True, или не встретится ключевое слово Else.

Пример. Найти максимальное из трех целых чисел.

5-й способ:

Dim a As Integer, b As Integer, c As Integer, max As Integer

a = InputBox("Введите первое число", "Ввод данных")

b = InputBox("Введите второе число", "Ввод данных")

c = InputBox("Введите третье число", "Ввод данных")

If (a > b) And (a > c) Then

max = a

ElseIf b > c Then

max = b

Else

max = c

End If

MsgBox "Максимальное число равно " & Str(max),vbInformation, "Результат"

1.5. Оператор выбора Select Case

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

Синтаксис:

Select Case Анализируемое_выражение

[Case Значение_1

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

[Case Значение_2

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

...

[Case Значение_N

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

[Case Else

[Инструкции_по_умолчанию]]

End Select

Анализируемое выражение должно возвращать значение типа, совместимого с типом значений в строке Case.

Как только значение анализируемого выражения попадает в диапазон из списка в предложении Case, выполняются все инструкции, следующие за данным предложением Case до следующего предложения Case, либо, для последнего предложения Case, – до предложения End Select. Затем управление передается инструкции, следующей за End Select, вне зависимости от наличия подходящих диапазонов в других предложениях Case.

Если ни в одном предложении Case не содержится включающего значения выражения диапазона, и отсутствует инструкция Case Else, выполнение продолжается с инструкции, следующей за инструкцией End Select.

Оператор выбора очень эффективен, когда надо проверить одну переменную, принимающую несколько значений.

Синтаксис Select Case разрешает использование условий <, >, =, при этом используется ключевое слово Is. В качестве значения для Case можно указывать не одно значение, а несколько через запятую. С помощью ключевого слова To можно задать диапазон значений.

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

Dim i As Integer

i = InputBox("Введите целое число",("Ввод числа")

Select Case i

Case 1

MsgBox "Число равно 1"

Case 2, 3

MsgBox "Число равно 2 или 3"

Case 4 To 9

MsgBox "Число от 4 до 9"

Case Is > 9

MsgBox "Число больше 9"

Case Else

MsgBox "Число не положительное"

End Select

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]