- •Федеральное агентство по рыболовству Балтийская государственная академия рыбопромыслового флота
- •Оглавление
- •Введение
- •Программирование на языке Visual Basic
- •Создание Windows-приложения
- •Переменные и константы
- •Объявление типа переменной
- •Комментарии в программных кодах
- •Выражения
- •Оператор присваивания
- •Функции
- •Математические функции
- •Финансовые функции
- •Системные функции InputВox и MsgBox
- •Вывод только значения переменной z
- •Строковые выражения и функции
- •Использование текстовых полей для ввода и вывода
- •Вывод на экранную форму с помощью оператора Print
- •Оператор If…Then для программирования ветвлений
- •Оператор Select Case
- •Программирование циклов с использованием операторов For…Next и Do…Loop
- •2. Оператор цикла do ... Loop (цикл с условием)
- •Оператор Exit
- •Циклы с незаданным числом повторений
- •Массивы
- •Работа с одномерным массивом
- •‘ Переобъявление динамического массива
- •Двухмерные массивы
- •Сортировка элементов массива
- •Работа с файлами последовательного доступа
- •Контрольные вопросы
- •Список литературы
Оператор If…Then для программирования ветвлений
Программа выполняется последовательно от первого оператора до последнего. Однако достаточно часто требуется изменить порядок выполнения команд в зависимости от выполнения или невыполнения определенного условия. В Visual Basic существуют управляющие конструкции, предназначенные для управления порядком выполнения команд. Различают два основных типа управляющих операторов:
If…Then – группа операторов выполняется при соблюдении определенных условий;
Select Case – на основании анализа значений заданного выражения выполнять те или иные действия.
С помощью управляющих операторов можно программировать алгоритмы разветвляющейся структуры. Программирование выбора направления (ветвления) выполнения нужных команд осуществляется с помощью оператора условного перехода If…Then. Для предоставления условий выбора существует особый вид выражений – условные выражения. Условия, записываемые в условных выражениях, могут быть простыми или сложными.
В простых условных выражениях используется знак сравнения: < (меньше), <= (меньше или равно), > (больше), >= (больше или равно), = (равно), < >, > < (не равно).
Например, А < В или х/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 =
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