Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка VB_последний.doc
Скачиваний:
2
Добавлен:
24.08.2019
Размер:
395.78 Кб
Скачать

Оператор If…Then для программирования ветвлений

Программа выполняется последовательно от первого оператора до последнего. Однако достаточно часто требуется изменить порядок выполнения команд в зависимости от выполнения или невыполнения определенного условия. В Visual Basic существуют управляющие конструкции, предназначенные для управления порядком выполнения команд. Различают два основных типа управляющих операторов:

  1. If…Then – группа операторов выполняется при соблюдении определенных условий;

  2. Select Case – на основании анализа значений заданного выражения выполнять те или иные действия.

С помощью управляющих операторов можно программировать алгоритмы разветвляющейся структуры. Программирование выбора направления (ветвления) выполнения нужных команд осуществляется с помощью оператора условного перехода IfThen. Для предоставления условий выбора существует особый вид выражений – условные выражения. Условия, записываемые в условных выражениях, могут быть простыми или сложными.

В простых условных выражениях используется знак сравнения: < (меньше), <= (меньше или равно), > (больше), >= (больше или равно), = (равно), < >, > < (не равно).

Например, А < В или х/2 < > а*b

В сложных условиях используются знаки логических операций: AND (И), OR (ИЛИ), XOR (Исключающее ИЛИ), NOT (НЕ).

Например, х > = –3 AND х< =10

Оператор условного перехода If…Then имеет две формы записи:

1) однострочная форма записи (и условие, и выполняемые при соблюдении условий действия располагаются в одной строке):

Синтаксис оператора имеет вид:

If условие Тhеn действие 1 [Else действие 2 … ]

Если условие истинно, то выполняется действие 1, иначе выполняется действие 2 (при отсутствии конструкции Else выполняется оператор, следующий за оператором If). Ключевое слово Else позволяет задать действия в случае невыполнения условия.

Например, необходимо вычислить значение функции Z для заданных значений переменных а и b.

a

Z =

+ b, если a>b

a – b, в остальных случаях

Фрагмент программы имеет вид:

a=Val(InputВox("a = ","Ввод а"))

b=Vаl(InputВox ("b = ","Ввод b"))

If а > b Тhen z = а+b Else z = а – b

Print "a=";a,"b=";b,"z=";z

2) многострочная форма записи используется, если при выполнении условия требуется выполнение блока операторов:

Синтаксис оператора имеет вид:

If условие Тhen

действие 1

Else

действие 2

End If

Для рассмотренного выше примера фрагмент программы с использованием многострочной формы записи будет иметь вид:

If а>b Then

z = a + b

Else

z = a – b

End If

Print "a=";а, "b =";b, "z=";z

Команда If может проверить только одно условие. Если потребуется осуществить переход управления в зависимости от результатов проверки нескольких условий, то дополнительное условие можно задать с помощью оператора ElseIF. Оно будет анализироваться только в том случае, если предыдущее условие ложно. Ниже приведен фрагмент программного кода с использованием оператора ElseIF. Для ввода значения исследуемой переменной используется стандартный элемент управления TextBox. Для вывода текста сообщений используется элемент управления Label (Метка) и его свойство Caption (Надпись).

Private Sub Command1_Click()

Dim x As Integer

x = Val(Text1.Text)

If x > 0 Then

Label1.Caption = "Значение положительное"

ElseIf x = 0 Then

Label1.Caption = "Значение равно 0"

Else

Label1.Caption = "Значение отрицательное"

End If

End Sub