Последний уровень раздела предыдущего изложения   Текущий уровень изложения предыдущего раздела   Текущий уровень изложения следующего раздела   Следующий уровень изложения текущего раздела   Уровень: Глоссарии:


ПЕРЕЧИСЛЯЕМЫЙ ТИП ДАННЫХ

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

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

Например, перечисляемый тип Rainbow объединяет скалярные значения RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET. Перечисляемый тип TrafficLight объединяет скалярные значения RED, YELLOW, GREEN.

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

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

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

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

type  TrafficLight= (RED, YELLOW, GREEN);
var   Section: TrafficLight;

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

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

var Section : (RED, YELLOW, GREEN);

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

Section := YELLOW;

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

Пример