Часто в программах число используется не в качестве арифметической величины, а как указатель некоторого элемента множества. В Паскале предусмотрена возможность называть элементы множества своими именами, то есть можно определить новый тип путем явного перечисления всех его возможных значений, причем каждое такое значение будет определяться только именем. Считается, что значения перечисляемого типа указаны в порядке возрастания, начиная с нулевого, поэтому над этими элементами можно выполнять операции отношения. Причем наиболее часто используются операции = и ¹.
При описании этого типа используется список, заключенный в круглые скобки, а его значения (константы) являются именами:
(<имя1>[,<имя2>...])
Например:
Type
Color = (Red,Yellow,Green); {Светофор}
Day = (Mon,Tue,Wed,Thu,Fri,Sat,Sun);
Var c:Color;
d:day;
...
If d>Fri Then Writeln ('Выходной день');
Для любого перечисляемого типа Т, определенного записью
T = (w0,w1,...,wn) ,
справедливы свойства:
1. Различимости
wi ¹ wj , если i ¹ j.
2. Упорядоченности
wi < wj , если i < j.
Причем значениями типа Т могут быть только w0, w1, ..., wn. Более того, эти имена должны быть уникальны, то есть не должны повторяться ни в других типах, ни при описании переменных.