ЛОГИЧЕСКАЯ СТРУКТУРА. Перечислимый тип представляет собой
упорядоченный тип данных, определяемый программистом, т.е. прог-
раммист перечисляет все значения, которые может принимать пере-
менная этого типа. Значения являются неповторяющимися в пределах
программы идентификаторами, количество которых не может быть
больше 256, например,
type color=(red,blue,green);
work_day=(mo,tu,we,th,fr);
winter_day=(december,january,february);
МАШИННОЕ ПРЕДСТАВЛЕНИЕ. Для переменной перечислимого типа
выделяется один байт, в который записывается порядковый номер
присваиваемого значения. Порядковый номер определяется из описан-
ного типа, причём нумерация начинается с 0. Имена из списка пере-
числимого типа являются константами, например,
var B,С:color;
begin B:=bluе; (* B=1 *)
C:=green; (* С=2 *)
Write(ord(B):4,ord(C):4); end.
После выполнения данного фрагмента программы на экран будут
выданы цифры 1 и 2. Содержимое памяти для переменных B И C при этом
следующее: В - 00000001; С - 00000010.
ОПЕРАЦИИ. На физическом уровне над переменными перечислимого
типа определены операции создания, уничтожения, выбора, обновле-
ния. При этом выполняется определение порядкового номера иденти-
фикатора по его значению и, наоборот, по номеру идентификатора-
его значение.
На логическом уровне переменные перечислимого типа могут
быть использованы только в выражениях булевского типа и в опера-
циях сравнения; при этом сравниваются порядковые номера значений.