Условный оператор CASE
Оператор служит для выбора одного из помеченных вариантов действия (операторов), в зависимости от значения "параметра". Оператор имеет вид:
Case "параметр" Of
"список помеченных операторов"
Else "оператор"
End;
Здесь "параметр" - выражение или переменная порядкового типа.
Из "списка помеченных операторов" выполняется оператор с меткой, включающей значение "параметра", иначе оператор после слова Else.
Конструкция Else "оператор" может отсутствовать. Напомним, что "оператор" может иметь вид: Begin "операторы" end;
Пример операторов для определения порядка целого числа N от 0 до 999:
case N of
0..9 : writeln('однозначное');
10..99 : writeln('двузначное');
100..999 : writeln('трехзначное')
else writeln('Число "N" не входит в указанный диапазон')
end;
Приведем пример программы случайного предсказания одного из десяти вариантов ближайшего будущего с вероятностью 1/20, в остальных случаях - вы "неудачник".
PROGRAM FUTURE;
var N : word;
BEGIN
writeln('ПРЕДСКАЗАНИЕ БУДУЩЕГО');
Randomize;
N:=Random(20)+1; { N - случайное число от 1 до 20 }
writeln; write('Вас ожидает ');
case N of
1 : writeln('счастье');
2 : writeln('пятерка');
3 : writeln('дорога');
4 : writeln('двойка');
5 : writeln('болезнь');
6 : writeln('здоровье');
7 : writeln('деньги');
8 : writeln('любовь');
9 : writeln('встреча');
10 : writeln('дети')
else writeln('неудача')
end;
writeln('Нажми Enter');
readln;
END.
Здесь функция Random(x) генерирует случайное число, с равномерной плотностью распределения на заданном интервале. Для инициализации распределения в начале программы необходимо вызвать процедуру Randomize.