Ограниченные типы данных являются производными. Они базируются на некотором базовом перечислимом типе. Ограниченный тип, или тип-диапазон, действительно ограничивает значения переменной. Например, если в переменной day хранится число дней в месяце, то оно явно не должно превышать 31, а также быть меньше 0. Следовательно, диапазон допустимых значений этой переменной – [1..31]. Так и напишем:
TYPE Tyear=1900..2100;
В нашем примере базовым типом для типа-диапазона является тип INTEGER.
Транслятор при работе программы проверяет, попадает ли значение переменной в допустимый диапазон. При выходе за его границы выдается сообщение об ошибке. Разумеется, это заметно повышает надежность программ.
Важно отметить, что в памяти переменная ограниченного типа занимает ровно столько же места, сколько и переменная базового типа. Поэтому сэкономить память, применяя типы-диапазоны, не удастся.