Этот оператор предназначен для замены конструкций из вложенных if.
Структура:
case N of
N1: P1;
N2: P2;
NN: PN;
[else P;]
end;
[else P;] - необязательная часть оператора.
где N - целочисленная переменная, или выражение целого типа;
N1, N2, … NN - возможные значения переменной N;
P, P1, P2, … PN - простые или составные операторы.
По этому оператору:
если значение N = N1, то выполняется P1 (после чего управление передается оператору, следующему за оператором case...of);
если значение N = N2, то выполняется P2, (после чего управление передается оператору, следующему за оператором case...of);
…
если N не принимает ни одного из перечисленных значений, управление передается оператору P;
если структура else - отсутствует и N - не принимает ни одного из перечисленных значений, управление передается следующему за
case...of оператору.
Например:
case N of
1, 2, 5: writeln (’a’);
7.. 10: writeln (’b’);
end;
1, 2, 5 - перечисляемые значения разделяются точкой.
7.. 10 - интервал задается начальными и конечными значениями через двоеточие.