Перечисляемый тип данных в Pascal
В программу можно ввести переменные какого-либо типа, не совпадающие ни с одним из стандартных типов. Такой тип задается перечислением значений при объявлении типа; любое из этих значений может принимать переменная данного типа, объявленная далее в программе.
Общий вид описания перечисляемого типа:
type nm = (word1, word2, ..., wordN); var w: nm;
здесь nm — идентификатор типа (произвольный), word1, word2, ... — значения, которые может принимать переменная w, принадлежащая типу nm.
Значения данного типа считаются упорядоченными, то есть описание типа одновременно вводит упорядочение word1 < word2 < wordN. Порядковые значения отсчитываются с 0.
К переменным типа перечисления можно применять функции ord, pred, succ и процедуры inc и dec.
Ко всем переменным одного и того же скалярного типа применимы операции отношения: =, <>, <=, >=, <, >.
Пример 1: type color = (red, yellow, green, blue);. Здесь определено, что red < yellow < green < blue. Переменная типа color может принимать одно из перечисленных значений.
type color = (red, yellow, green, blue); var a: color; b: color; begin a := red; writeln(a); writeln(succ(a)); readln(b); writeln(ord(b)); end.
Пример выполнения:
red yellow blue 3