Для решения такой задачи можно использовать однострочный, вложенный IF или IF с добавочными условиями.
Однострочный вложенный If
Синтаксис оператора:
If <условие1> T hen оператор 1 [ Else If <условие2> T hen оператор 2 Else If..]
Функционирование оператора: если <условие1> истинно, то выполняется оператор 1 и оператор I f заканчивает работу. Если <условие1> ложно, то проверяется <условие2> и т.д.
Запишем этот оператор для решения поставленной задачи.
If x<-1 Then y=sin(x) Else If (2<x AND x<=3) Then y=Tan(x) Else If (5<x AND x<=10) Then y=Log(x) Else If x>30 Then y=x^2.5 Else y=0
Такой оператор трудно рассматривать в окне кода проекта, поєтому существует многострочный If с добавочными условиями. Синтаксис такого If:
If <условие1> Then
группа операторов 1
ElseIf <условие2> T hen
группа операторов 2
ElseIf <условие n> T hen
группа операторов n
[ else
группа операторов n]
End If
Для решения задачи примера 5.2 запишем многострочный I f с добавочными условиями:
If x < -1 Then ' Начало оператора If
y = Sin(x)
ElseIf (2 < x) And (x <= 3) Then
|
|
y = Tan(x)
ElseIf (5 < x) And (x <= 10) Then
y = Log(x)
ElseIf x > 30 Then
y = x ^ 2.5
Else
y = 0
End If ' Конец оператора IF
Пример 5.3. Задача примера 5.2 может быть модифицирована следующим образом
Вычисление y=sin(x) выполняется при х=1 или х=3 или х=5 или х=6
Алгоритм решения задачи по структуре аналогичен алгоритму примера 5.2.
Оператор выбора Select Case
Для решения поставленной задачи удобно использовать оператор выбора Select Case. Синтаксис оператора Select Case:
Select Case селектор
Case 1-й установленный диапазон значений селектора: оператор 1
Case 2-й установленный диапазон значений селектора: оператор 2
-----------------------------------------------
Case n- й установленный диапазон значений селектора: оператор n
Case Else: оператор n+1
End Select
Селектор – переменная, значение которой до входа в оператор Select Case должно быть известно. Если это значение совпадает с 1-м установленным заранее диапазоном значений, то выполняется оператор 1 и управление передается на End Select. Если значение не совпадает, происходит сравнение со вторым диапазоном и т.д.
|
Запишем процедуру отклика командной кнопки CommandButton1 для решения данной задачи: