Инструкция выбора 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