Еще одним скалярным типом данных в языке Pascal является перечислимый тип. Данный тип задается программистом путем явного перечисления всех имен, обозначающих значения этого типа. С помощью синтаксической диаграммы порядок описания такого типа можно определить следующим образом:

В тексте программы все константы данного типа употребляются непосредственно, без апострофов. Все константы пронумерованы, согласно описанию, начиная с 0, следовательно, определены все операции отношения над переменными и константами данного типа и можно использовать функцию ord. Ввод и вывод для данного типа не допускается.
Уже знакомый вам тип boolean фактически является стандартным предопределенным перечислимым типом:
type boolean = (false, true);
Однако над выражениями данного типа определен расширенный набор операций, а также допустимо их использование в процедурах печати (однако считывание не определено).
Перечислимый тип с точки зрения идеологии программирования относится к так называемым “флаговым”, то есть различные константы одного и того же перечислимого типа используются для обозначения различных ситуаций, каждая из которых должна быть обработана в программе отдельно. Использование таких переменных вместо, например, числовых делает программу более наглядной и легко отлаживаемой.
Примеры описания порядковых типов:
type week = (mon, tues, wed, thur, fri, sat, sun);
operators = (plus, minus, times, divide);
Для того чтобы по номеру константы порядкового типа получить в программе ее значение, можно использовать имя типа:
boolean(0) означает false;
week(1) означает tues;
operators(2) означает times.

