Перечисляемый тип представляет  собой  ограниченную  упорядоченную последовательность скалярных констант,  составляющих данный тип. Значение каждой константы задается ее именем.  Имена отдельных  констант отделяются друг от друга запятыми,  а вся совокупность констант, составляющих данный перечисляемый тип, заключается в круглые скобки.

   Программист объединяет в одну группу в соответствии с каким - либо признаком всю совокупность значений,  составляющих перечисляемый тип. Например, перечисляемый тип  Rainbow(РАДУГА)  объединяет скалярные значения RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET (КРАСНЫЙ, ОРАНЖЕВЫЙ,  ЖЕЛТЫЙ, ЗЕЛЕНЫЙ, ГОЛУБОЙ, СИНИЙ, ФИОЛЕТОВЫЙ). Перечисляемый тип Traffic_Light (СВЕТОФОР) объединяет скалярные значения RED, YELLOW, GREEN (КРАСНЫЙ,  ЖЕЛТЫЙ, ЗЕЛЕНЫЙ).

   Перечисляемый тип  описывается  в разделе описания типов,  который начинается со служебного слова type, например:

type

  Rainbow = (RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET);

   Каждое значение  является константой своего типа и может принадлежать только одному из перечисляемых типов, заданных в программе. Например, перечисляемый    тип  Traffic_Light не может быть определен в одной программе с типом Rainbow,  так как оба типа содержат одинаковые константы.

   Описание переменных, принадлежащих к скалярным типам, которые объявлены в  разделе описания типов,  производится с помощью имен типов. Например:

        type  Traffic_Light= (RED, YELLOW, GREEN);

        var   Section: Traffic_Light;

   Это означает, что переменная Section может принимать значения RED, YELLOW или GREEN.

   Переменные перечисляемого типа могут быть описаны в разделе описания переменных, например:

        var  Section: (RED, YELLOW, GREEN);

   При этом имена типов отсутствуют,  а переменные определяются совокупностью значений, составляющих данный перечисляемый тип.

   К переменным перечисляемого  типа  может  быть  применим  оператор присваивания:

          Section:= YELLOW;

   Упорядоченная последовательность значений, составляющих перечисляемый тип, автоматически нумеруется, начиная с нуля и далее через единицу. Отсюда следует, что к перечисляемым переменным и константам могут быть применены операции отношения  и  стандартные  функции  Pred, Succ, Ord.

   Переменные и константы перечисляемого типа не могут быть элементами списка ввода или вывода.