Общий вид оператора варианта
CASE B of
<список меток 1 >:S1;
<список меток 2>::S2;
- - - - - - - - - - - - - - - -
<список меток n>:Sn;
[ELSE S;]
end;
S1, S2, ..., Sn - любые операторы в единственном числе;
В - переключатель, выражение, дающее значение порядкового типа;
<список меток N > - выражение того же типа, что и значение переключателя В. Разделяются запятой или (..).
CASE B of
<список меток 1 >:S1;
<список меток 2>::S2;
- - - - - - - - - - - - - - - -
<список меток n>:Sn;
[ELSE S;]
end;
S1, S2, ..., Sn - любые операторы в единственном числе;
В - переключатель, выражение, дающее значение порядкового типа;
<список меток N > - выражение того же типа, что и значение переключателя В. Разделяются запятой или (..).
Выполняется:
- Вычисляется значение переключателя В.
- Отыскивается список меток, включающий это значение, и выполняется соответствующий оператор.
- Если значение переключателя не входит ни в один из списков меток, то в случае полной формы оператора CASE, выполняется оператор S, а в случае неполной формы управление передается следующему оператору программы.
В операторе CASE перед ELSE (;) ставится.
Пример 1. По заданному номеру определить день недели.
program PR1;
var x:integer;
begin
Writeln('Введите номер дня недели');
Readln(x);
Case x of
1: Writeln('Понедельник');
2: Writeln('Вторник');
3: Writeln('Среда');
4: Writeln('Четверг');
5: Writeln('Пятница');
6: Writeln('Суббота');
7: Writeln('Воскресенье');
Else
Writeln('Дня недели с таким номером не существует');
end;
end.