logo
Predmet

94 Оператор выбора (переключатель). Оператор case в среде vba.

Оператор выбора (переключатель).

Переключатель switch является наиболее удобным средством для организации мультиветвления. Синтаксис переключателя таков:

switch(expression) // переключающее выражение

{

case value1: // константное выражение 1

statements; // блок операторов

break;

case value2: // константное выражение 2

statements;

break;

default:

statements;

}

Управляющая структура switch передает управление тому из помеченных case операторов, для которого значение константного выражения совпадает со значением переключающего выражения. Если значение переключающего выражения не совпадает ни с одним из константных выражений, то выполняется переход к оператору, помеченному меткой default. В каждом переключателе может быть не более одной метки default, однако она может отсутствовать вообще. Приведем пример программы с переключателем. В этой программе выводятся названия нечетных целых десятичных цифр от 1 до 9 не меньше заданной, в зависимости от числа, указанного в форме test.html. Форма test.html не отличается от той, что мы уже использовали:

<form action = "http://localhost/PHP/chapt2/switch.php" method="get">

number: <input type="text" name="number"/><br>

<input type="submit"/>

</form>

<?

switch($number)

{

case 1:

echo ("one ");

case 2: case 3:

echo ("free");

case 4: case 5:

echo ("five");

case 6: case 7:

echo ("seven");

case 8: case 9:

echo ("nine");

break;

default:

echo ("This isn't number or number is > 9 or < 1");

}

?>

Так же, как и в случае условного оператора для переключателей допустимы любые степени вложенности, однако злоупотреблять этим без особой на то необходимости также не следует.

Кроме уже сказанного о переключателе, приведенная программа демонстрирует действие оператора break, с помощью которого происходит выход из переключателя. Если поместить операторы break после вывода каждой из цифр, то в окне браузера мы увидим название только одной нечетной цифры.

Как видим, после конструкции switch приведен составной оператор, однако это совершенно не обязательно – после switch может находиться любой оператор, помеченный служебным словом case.

Напомним, что составной оператор, это заключенная в фигурные скобки последовательность операторов.

Заметим также, что в PHP в качестве меток case могут использоваться не только литералы, но и сами метки могут быть переменными. В качестве меток case в PHP не могут выступать только массивы и объекты.

Оператор CASE в среде VBA.

Когда нужно проверить результат одного выражения, который может иметь много различных значений, и для каждого из этих значений надо выполнить свою уникальную последовательность действий удобнее пользоваться управляющим оператором Select Case вместо If…Then…Else. В примере определяется диапазон, в который попадает переменная А. Этот оператор используется, когда из всех альтернатив надо выбрать одну. Удобнее оператора If…Then…Else, особенно при большом числе проверок.

Синтаксис:

Select Case –выражение-

Case 1 – выражение 1-

(блок операторов)

Case 2 – выражение 2-

(блок операторов)

----//----

Case else

(блок операторов)

End Select

Sub Klen()

Dim B As Integer

Dim X As String

B = 4

Select Case B

Case 0 To 4

X = "A=4"

Case 5, 6, 7, 8, 9, 10

X = "5<=A<=10"

Case Else

X = "A<0 или A>10"

End Select

MsgBox X

End Sub Sub My_Pr()

n = InputBox (“введи число от 1 до 7”)

Select Case n

Case 1

MsgBox(“понедельник”)

Case 2

MsgBox(“вторник”)

Case 3

MsgBox(“среда”)

Case 4

MsgBox(“четверг”)

Case 5

MsgBox(“пятница”)

Case 6

MsgBox(“суббота”)

Case 7

MsgBox(“воскресенье”)

Case Else

MsgBox(“введите правильное число”)

End Select

End Sub