Оператор выбора (варианта) используется в тех случаях, когда в зависимости от значения какого-либо выражения необходимо выполнить один из нескольких операторов.
Оператор case состоит из выражения (селектора) и списка операторов, каждому из которых предшествует одна или более констант (они называются константами выбора) или ключевое слово else. Селектор должен иметь порядковый тип размера байт или слово. Таким образом, строковый тип и тип LongInt являются недопустимыми типами селектора. Все константы выбора должны быть уникальными и иметь порядковый тип, совместимый с типом селектора.
Оператор вывода имеет следующую форму записи:
CASE <выражение> OF константа 1: оператор 1; константа 2: оператор 2; ................................................ константа n: оператор n; ELSE оператор; END;
Оператор case приводит к выполнению оператора, которому предшествует константа выбора, равная значению селектора или диапазону выбора, в котором находится значение селектора. Если такой константы выбора или такого диапазона выбора не существует, то выполняется оператор, следующий за ключевым словом else. Если ветвь else отсутствует, то не выполняется никакой оператор.
В операторе выбора в качестве константы допускается использование списка констант. В качестве констант также могут использоваться перечеслимые и ограниченнные типы данных, но число имен не должно привышать 255.
Пример:
case I of 0, 2, 4, 6, 8: Writeln(‘четное число’); 1, 3, 5, 7, 9: Writeln(‘нечетное число’); 10..100 : Writeln(‘между 10 и 100’); else Writeln(‘отрицательноe или больше чем 100’); end;