Иллюстрированный самоучитель по Turbo Pascal

Порядковые типы

Тип-диапазон

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

<мин.знач.>..<макс.знач.>

Здесь:

  • <мин.знач. > – минимальное значение типа-диапазона;
  • <макс.знач.> – максимальное его значение.

Например:

type
digit = '0'..'9';
dig2= 48..57;

Тип-диапазон необязательно описывать в разделе TYPE, а можно указывать непосредственно при объявлении переменной, например:

var
date: 1..31;
month: 1..12;
Ichr: 'A'..'Z';.

При определении типа-диапазона нужно руководствоваться следующими правилами:

  • два символа ".." рассматриваются как один символ, поэтому между ними недопустимы пробелы;
  • левая граница диапазона не должна превышать его правую границу. Тип-диапазон наследует все свойства своего базового типа, но с ограничениями, связанными с его меньшей мощностью. В частности, если определена переменная:
type
days = (mo,tu,we,th,fr,sa,su);
WeekEnd = sa. .su;
var
w: WeekEnd;
begin
…..
w: = sa;
…..
end;

То ORD(W) вернет значение 5, в то время как PRED(W) приведет к ошибке.

В стандартную библиотеку Турбо Паскаля включены две функции, поддерживающие работу с типами-диапазонами:

  • НIGН(Х) – возвращает максимальное значение типа-диапазона, к которому принадлежит переменная X;
  • LOW(X) – возвращает минимальное значение типа-диапазона.

Следующая короткая программа выведет на экран строку:

-32768…32767
var
k: Integer;
begin
WriteLn(Low(k),'..',High(k))
end.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.