End Sub
End Select
Case Else
End Select
End Sub
End If
Else
End If
Else
Label1.Caption=”Значение х отрицательно”
Ниже приведен пример событийной процедуры решения квадратного уравнения ax2 + bx + c = 0 с использованием условного оператора.
Private Sub Command1_Click()
d=b*b – 4 * a * c
If d < 0 then
Print ”Уравнение не имеет корней”
Elseif d = 0 Then
x = -b / (2*a)
Print ”Уравнение имеет один корень”; x
x1 = (-b + sqr(d)) / (2 * a)
x2 = (-b - sqr(d)) / (2 * a)
Print ”Уравнение имеет два корня ”; x1, x2
10.2. Оператор выбора Select … Case
Оператор выбора позволяет обрабатывать в программе несколько условий и аналогичен блоку конструкций if...Then...Else. Используется он для частичного облегчения программирования задач, в которых содержится большое число различных проверок. Его также удобно применять тогда, когда выполнение одного из многочисленных действий зависит от значения какой-либо переменной. Синтаксис оператора выбора Select … Case:
Select Case Выражение
Case Диапазон значений _1
Операторы, выполняемые при попадании Выражения в Диапазон значений _1
Case Диапазон значений _2
Операторы, выполняемые при попадании Выражения в Диапазон значений _2
. . .
Case Диапазон значений _N
Операторы, выполняемые при попадании Выражения в Диапазон значений _2
[Case Else
Операторы, выполняемые при непопадании ни в один из указанных диапазонов
Замечание 1. Квадратные скобки служат для обозначения необязательной части в структурах операторов.
Выражение – любое выражение, допустимое в языке VB.
После ключевого слова Case, которое повторяется столько раз, сколько различных действий может быть выполнено, записывается Диапазон значений этой переменной. При попадании значения переменной в этот диапазон выполняется действие, которое записано вслед за ним.
Диапазон значений можно задать простым перечислением их через запятую (Case 3,5,9), либо с помощью ключевого слова To(Case 1 To 9). Если в Диапазоне значений необходимо использовать операции отношения, то такой диапазон записывается с помощью ключевого слова Is.
Ниже приведены примеры событийных процедур с использованием оператора выбора.
Пример 2. Проанализировать случайное число, заданное в промежутке от 0 до 10.
Private Sub Command1_Click()
Randomize
a = Int(Rnd * 9) + 1 'Cлучайное число от 1 до 10
Select Case a
Case 1
Print "Равно 1"
Case 2, 3
Print "Равно 2 или 3"
Case 4 To 6
Print "Больше или равно 4 и меньше или равно 6"
Case Is >= 9
Print "Больше или равно 9"
Print "Ни одно из предшествующих"
Пример 1. Решение квадратного уравнения ax2 + bx + c = 0.
Вариант 1. Здесь Выражение имеет логический тип (d>=0):
Private Sub Command1_Click()
A=val(inputbox(”Задайте А”))
B=val(inputbox(”Задайте B”))
C=val(inputbox(”Задайте C”))
D=B^2-4*a*c
Select Сase d>=0 ' Выражение логического типа
Case True
Print ”x1=”;(-b-sqr(d))/(2*a),”x2=”;(-b+sqr(d))/(2*a)
Case False
Print ”Решений нет”