Перечисляемый тип позволяет задать все возможные значения, которые может принимать переменная. Эти значения должны быть перечислены через запятую и заключены в круглые скобки. Для хранения в памяти ЭВМ под переменную перечисляемого типа выделяется 1 байт, т.е. в списке не может быть более 255 значений (констант). В качестве значений могут быть выступать любые имена, написанные по правилам Паскаля, и не встречающиеся в качестве имен переменных, типов, и в двух списках одновременно.
Примеры:
TYPE
language = (C,Pascal,Fort,Basic,Fortran,Ada,Modula);
В последней строке заведена переменная перечисляемого типа без определения имени типа.
Для переменных такого типа возможны операции присваивания значений, но только из списка заданных значений:
Emission:= O2;
Pollutant:= N2O;
TextType:=Basic;
при этом недопустимы операторы:
Pollutant:=1;
RadioIsotop:=CH4;
Разрешены операции сравнений на "равно", "больше", "меньше" и т.д. в соответствии с порядковыми номерами заданных значений в списке перечислений. Так, при выполненных операторах присваивания, написанных выше, Pollutant > Emission, так как N2O идет в списке после O2, а результатом операции сравнения:
TextType = Basic
будет значение TRUE (истина).
Выражения и константы перечисляемого типа можно использовать в операторах переключателях "case" (примеры см. в разделе описаний операторов).
Важно помнить, что для переменных перечисляемого типа не предусмотрены стандартные операторы ввода и вывода, т.е. нельзя написать:
Read(Emission) или Write(CO2).
При работе с данными этого типа часто используются стандартные функции Паскаля Pred(), Succ()и Ord(), которые будут описаны ниже.