Тип диапазон

Когда переменная должна принимать значения в определенном диапазоне значений, он может быть ограничен до поддиапазона другого порядкового типа. Это ограничение помогает находить ошибки выхода за пределы допустимого диапазона.

Новые типы Паскаля также могут быть образованы указанием значений, которые лежат внутри поддиапазона значений существующего порядкового типа. Поддиапазон определяется указанием минимальной и максимальной констант, которые входят в поддиапазон.

<тип диапазон>::= <константа>.. <константа>

<константа>::= <знак> <беззнаковое число> | <беззнаковое число>

| <идентификатор константы> | <строка символов>

Рассмотрим следующее объявление:

TYPE

Letter = ‘A’.. ‘Z’;

SmallInt = 0.. 100;

SmallerInt = 1.. 10;

VAR

L: Letter;

X: SmallInt;

Y: SmallerInt;

Тип, которому принадлежат константы, задающие диапазон, называется владеющим типом (host type). Все операции владеющего типа могут быть применены к операндам его поддиапазона. В примере выше владеющим типом для Letter является CHAR, а для SmallInt и SmallerInt – INTEGER. Таким образом, символьные операции могут быть применены к L, а целочисленные к SmallInt и SmallerInt.

BEGIN

...

IF L = ‘A’ {сравниваем Letter и CHAR}

THEN

...

WRITE(X+Y); {складываем целые значения}

...

END

После определения перечислимого типа, его константы могут быть использованы для определения диапазонов, владеющим типом которых является перечислимых тип. Объявление таких новых типов не ведут к дублированию идентификаторов, использованых при определении диапазона.

TYPE

DayOfWeek = (Monday, Tuesday, Wednesday, Thursday,

Friday, Saturday, Sunday);

WeekDay = Monday.. Friday;

WeekEndDay = Saturday, Sunday;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: