Оператор выбора case
Содержание
- 1. Какое назначение оператора варианта case в программе?
- 2. Какой общий вид оператора выбора case?
- 3. Какое назначение блока else в операторе case?
- 4. Пример использования оператора case без использования блока else.
- 5. Пример использования оператора case с использованием блока else.
- 6. Пример использования оператора case, в котором метки задаются диапазоном значений
Ответы
1. Какое назначение оператора варианта case в программе?
Оператор варианта применяется для выполнения одного оператора из нескольких, в зависимости от значения переменной (или результата вычисления выражения), которая указывается между словами case и of.
⇑
2. Какой общий вид оператора выбора case?
Общий вид оператора выбора:
case ordinal_expression of 1: statement1; // выполняется если ordinal_expression=1 2, 3: statement2; // выполняется если ordinal_expression = 2 или // ordinal_expression = 3 else statement 3; // выполняется во всех других случаях end;
Здесь переменная ordinal_expression называется селектором. Селектор имеет обязательно порядковый тип.
statement1, statement2, statement3 – один или несколько операторов (берутся в операторные скобки begin и end).
Цифры 1, 2, 3 есть метками. Метки отделяются от операторов двоеточием. Метки представляют значения, которые может принимать селектор. При обращении к оператору case выполняется оператор, метка которого отвечает значению селектора. Метки в операторе case могут быть заданы в виде диапазонов.
Оператор варианта case может выполняться и без использования блока else. В этом случае общий вид оператора case следующий:
case ordinal_expression of 1: statement1; // выполняется если ordinal_expression=1 2, 3: statement2; // выполняется если ordinal_expression = 2 или // ordinal_expression = 3 end;
Если значение ordinal_expression не содержит ни одного из тех, что указаны в метках (1, 2, 3), то выполняется оператор, который следует сразу за оператором case.
⇑
3. Какое назначение блока else в операторе case?
Оператор , размещенный после else, выполняется в том случае, если значение селектора не отвечает ни одной из указанных меток.
⇑
4. Пример использования оператора case без использования блока else.
Задано число n (n = 1..3), которое есть номером функции. По значению n вычислить:
Фрагмент кода, который решает данную задачу:
... case n of 1: y:=sin(x); 2: y:=cos(x); 3: y:=sin(x)/cos(x); end; ...
⇑
5. Пример использования оператора case с использованием блока else.
Написать фрагмент программного кода, который по заданному номеру месяца n определяет количество дней в этом месяце. Количество дней сохраняется в переменной k.
case n of 2: k:=28; 4, 6, 9, 11: k:=30; else k:=31; end;
⇑
6. Пример использования оператора case, в котором метки задаются диапазоном значений.
Фрагмент кода, в котором по номеру дня n = 1..7, определяется выходной этот день (true) или рабочий (false).
... case num of 1..5: f_day_off := false; 6,7: f_day_off := true; end; ...