19. Тип-диапазон Тип-диапазон используется для ограничения набора допустимых значений другого базового порядкового типа. Переменная типа-диапазона имеет все характеристики, соответствующие базовому типу (за исключением возможных значений, которые она может принять)
Объявление Типа-диапазона Type имя_типа = лев_граница..прав_граница; лев_граница, прав_граница – константы (одного порядкового типа) лев_граница < прав_граница Пример Type Digits = 0..9; Lettr = A..Z;
20. Перечислимый тип Объявление Type Имя_типа = (значение1, значение2,…); Значение1, значение2 – идентификаторы Обычно перечислимый тип используется для задания значений флаговых переменных с целью улучшения читаемости программы и увеличения ее надежности.
Перечислимый тип. Пример Program EnumType; Type StringErrorsType = (NoError, CorvertionError, LengthError); Var StringError : StringErrorsType; Begin StringError := NoError; … if Length(s)>10 then StringError := LengthError; … Case StringError of NoError: …
21. Подкласс порядковых типов К порядковым типам относятся: целые, символьный, логический, тип-диапазон, перечислимый Особенностью порядковых типов является наличие нумерации их значений. Номер целого значения совпадает с самой величиной. Номер значения символьного типа соответствует номеру (колу) символа в таблице ASCII. Для логического типа номер значения false равен 0, а true – 1. Для типа-диапазона номер значения совпадает с номером того же значения базового типа. Для перечислимого типа все значения нумеруются в порядке объявления, начиная с нуля.
Ф-ции для работы со значениями порядковых типов Ord(p) – возвращает порядковый номер значения Succ(p) – возвращает значение того же типа что и p, номер которого на 1 больше. Pred(p) – возвращает значение того же типа что и p, номер которого на 1 меньше. p – выражение порядкового типа.