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 ”Решений нет”