Перелічуваний тип являє собою обмежену упорядковану послідовність скалярних констант, що становлять даний тип. Значення кожної константи задається її ім'ям. Імена окремих констант відокремлюються один від одного комами, а вся сукупність констант, що становлять даний перелічуваний тип, обмежується круглими дужками.
Програміст об'єднує в одну групу у відповідності з якою-небудь ознакою всю сукупність значень, що складають перелічуваний тип. Наприклад, перелічуваний тип Rainbow (ВЕСЕЛКА) об'єднує скалярні значення RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET (червоний, оранжевий, жовтий, зелений, блакитний, синій, фіолетовий). Перелічуваний тип Traffic_Light (СВІТЛОФОР) об'єднує скалярні значення RED, YELLOW, GREEN (ЧЕРВОНИЙ, ЖОВТИЙ, ЗЕЛЕНИЙ).
Перелічуваний тип описується в розділі опису типів, наприклад:
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.