Мы уже познакомились с простыми типами real, integer, boolean, byte, char.
В Паскале программист по своему желанию может определить новый тип путем перечисления его элементов - перечисляемый тип, который относится к простым ординальным типам.
Описание перечисляемого типа выполняется в разделе типов по схеме:
type <имя типа> = <список имен>
Примеры:
type operator = (plus,minus,multi, divide);
color = (white,red,blue,yelow,purple,green);
В списке должно быть не более 256 имен.
Поскольку перечисляемый тип относится к ординальным, то к его элементам можно применять функции ord(x), pred(x), succ(x) и операции отношения. Отметим, что данные этого типа не подлежат вводу и выводу с помощью функций ввода/вывода и могут использоваться внутри программы для повышения ее читабельности и понятности.
Для иллюстрации работы с перечисляемыми типами приведем программу 8, переводящую английские названия дней недели на русский язык.
Программа 8
program week;
type days=(mon,tue,wed,thu,fri,sat,sun);
var d:days;
begin
for d:=mon to sun do
case d of
mon: writeln("понедельник");
tue writeln("вторник");
wed writeln("среда");
thu writeln("четверг");
fri writeln("пятница");
sat writein("суббота") ;
sun writeln("воскресенье")
end
end.
Интервальный тип - это подмножество другого уже определенного ординального типа, называемого базовым. Интервал можно задать в разделе типов указанием наименьшего и наибольшего значений, входящих в него и разделяющихся двумя последовательными точками, например:
type days=(mon,tue,wed,thu,fri,sat,sun);
workday s=mon.. fri;
index=1..30;
letter='a'..'z';
Можно задать интервал и в разделе переменных:
vara:1..100;b:-25..25;
Операции и функции - те же, что и для базового типа. Использование интервальных типов в программе позволяет экономить память и проводить во время выполнения программы контроль присваиваний.
Пример: если k - номер месяца в году, то вместо описания