Инструкция выбора Select Case

Инструкциявыбора является обобщением условного перехода и позволяет сделать выбор из произвольного числа имеющихся вариантов, то есть организовать разветвления на произвольное число направлений. Select Case применяется в тех случаях, когда одна величина участвует в нескольких логических сравнениях и определяет, какой блок инструкций будет выполняться.

Формат записиSelect Case:

Select Case < выражение - селектор>

Case <список _выражений _1> ‘ вариант 1

< инструкция(и)_1 >

……………….

Case <список _выражений _n > ‘ вариант n

< инструкция(и)_n >

[Case Else

[<инструкция(и)_Else >]]

End Select

Инструкция выбора состоит из выражения, называемого селектором, списка выражений вариантов, начинающихся словом Case, и необязательной ветви Else, имеющей то же значение, что и в условном операторе. Каждый вариант представляет список выражений и оператор или группу операторов, следующих за списком. Список выражений может включать:

· Константы;

· Интервал значений;

· Функцию Is.

Инструкции Else (необязательная часть) выполняются в том случае , если выражение - селектор не совпадает ни с одним из предложений Case.

Оператор выполняется следующим образом:

· Вычисляется значение выражения - селектора;

· Просматриваются последовательно варианты на предмет совпадения выражения - селектора с константами и значениями из диапазонов соответствующего списка;

· Если для очередного варианта получено совпадение, то выполняется оператор данного варианта. После этого выполнение оператора выбора заканчивается и осуществляется переход к и, следующей за End Select.

· Если все проверки оказались безуспешными, то выполняется инструкция после слова Else (при его наличии), иначе осуществляется переход к инструкции, следующей за End Select.

Пример1.Определить пригодность спортсмена к некоторому виду спорта.

Sub Sport_Пригодность()

Dim X, Y, Z As Single

X=InputBox(“Ввести кол - во ударов сердца /мин после нагрузки”)

Y= InputBox (“Ввести кол - во ударов сердца /мин через 10 мин после отдыха”)

Z=Y/X

Select Case Z

Case Is < 0.5

MsgBox “Перспективный спортсмен ”,VbInformation, _

“Тест - Пригодность” ’строка продолжена

Case 0.5 To 0.7

MsgBox “Пригоден, но потенциал средний ”, VbInformation, _

“Тест - Пригодность” ’строка продолжена

Case Is > 0.7

MsgBox “Заниматься этим видом спорта не рекомендуется ”, VbInformation , _

“Тест - Пригодность” ’строка продолжена

End Select

End Sub

 

Тест: при х=90, у = 80, z= 0.89; x=90, y=60 , z=0.66

 

x=100 y=49 z=0.49