
- •1.1. Условный оператор If...End If
- •1.2. Условный оператор If...Else...ElseIf...End If
- •1.3. Условный оператор Select Case...End Select
- •Пример программы.
- •2. Переключатель (OptionButton)
- •Свойства элемента Переключатель
- •Пользовательский интерфейс показан на рис 5.
- •Контрольные вопросы
- •Самостоятельное задание
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
К ЛАБОРАТОРНОЙ РАБОТЕ
Visual Basic
Разветвляющиеся структуры. Переключатели.
ЦЕЛЬ РАБОТЫ: Изучение способов выбора решения.
НАЗНАЧЕНИЕ РАБОТЫ: Научиться делать выбор из нескольких предложенных вариантов.
СОДЕРЖАНИЕ РАБОТЫ
Разветвляющиеся структуры. Операторы управления.
Зачастую в определённом месте программы необходимо выполнять те или иные операторы, в зависимости от некоторых условий. Эта возможность в Visual Basic реализуется при помощи так называемых управляющих конструкций (или структур), которые в свою очередь состоят из структур принятия решений и циклов.
1.1. Условный оператор If...End If
Он необходим для принятия решений, нужно ли выполнять то или иное действие или нет. Другими словами если Логическое_выражение истинно, то Оператор выполнится. Если ложно, то выполнение не произойдёт.
If Логическое_выражение Then Оператор или сложнее If Логическое_выражение Then Группа_операторов End If
В первом случает оператор может быть только один. Во втором сколько угодно (в том числе и один).
Пример:
If (a = b) And (c <> d) Then b = d a = 20 End If
Скобки здесь не обязательны, но они повышают читабельность кода.
1.2. Условный оператор If...Else...ElseIf...End If
Такая конструкция используется для более сложных ветвлений:
If Логическое_выражение 1 Then Группа_операторов ElseIf Логическое_выражение 2 Then Группа_операторов ... Else Группа_операторов End If
Эта схема может быть и в укороченном виде If...Then...Else...End If. При этом операторы после Else выполняются только в том случае, если ни одно из условий не выполнено.
Пример:
If (a = b) Or (c <> d) Then b = d a = 20 Else c = d End If
Выражение c=d будет выполнено только в том случае, если a<>b или c=d.
1.3. Условный оператор Select Case...End Select
Когда существует несколько операторов (или блоков операторов), которые необходимо выполнять в случае истинности того или иного условия, то запись конструкции If…Then окажется достаточно громоздкой. Поэтому в подобных случаях следует использовать структуру Select Case, которая улучшает читаемость программы. Конструкция Select Case "принимает решение" на основе анализа значения одного выражения. При этом это выражение указывается в строке Select Case:
Select Case Анализируемое_выражение
Case Значение№1 Группа операторов Case Значение№2 Группа операторов ... Case Значение№N Группа операторов Case Else Группа операторов
End Select
Конечно, анализируемое выражение должно возвращать значение типа, совместимого с типом значений в строка Case.
Пример:
В зависимости от значения переменной iTest, строковой переменной strResult присваиваются различные значения
Select Case iTest
Case 1 strResult = "iTest = 1" Case 2, 3, 4 strResult = "iTest = 2, 3 или 4" Case 5 To 9 strResult = "iTest находится в диапазоне от 5 до 9" Case iTest < 0 strResult = "iTest меньше 0" Case Is > 9 strResult = "iTest больше 9" Case Else strResult = "iTest равно 0"
End Select
В качестве значения для блока Cаse можно указывать не только одно значение (1), но и несколько разделённых запятой (2,3,4).Можно также задать диапазон (5 То 9) или воспользоваться относительным сравнением (Is>9). Вместо непосредственного проверочного выражения можно использовать ключевое слово Is. Если условию Select Case соответствует несколько блоков Case, то выполняется первый из них:
Select Case a
Case 0
Print “Равно 0”
Case –10 To 10
Print”Между –10 и 10, кроме 0”
End Select
Пример программы.
Программа должна определять количество десятичных цифр в вводимом числе от 0 до 1000. Запуск программы осуществляется щелчком мыши по форме (операторы программы помещаются в процедуру обработки события Form_Click):
Private Sub Form_Click()
Dim X As Integer
Dim Y As Integer 'Объявление переменных
X = InputBox("введите число больше 0 и меньше 1000.")
If X < 10 Then
Y = 1
ElseIf X < 100 Then
Y = 2
Else
Y = 3
End If
If Y > 1 Then Unit = "цифры."
If Y = 1 Then Unit = " цифру."
MsgBox "Введённое число имеет" & Y & Unit
End Sub