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

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

К порядковым типам относятся (см. рис.4.1) целые, логический, символьный, перечисляемый и тип-диапазон. К любому из них применима функция ORD(X), которая возвращает порядковый номер значения выражения X. Для целых типов функция ORD(X) возвращает само значение X, т.е. ORD(X) = X для X, принадлежащего любому шелому типу. Применение ORD(X) к логическому, символьному и перечисляемому типам дает положительное целое число в диапазоне от 0 до 1 (логический тип), от 0 до 155 (символьный), от 0 до 65535 (перечисляемый). Тип-диапазон сохраняет все свойства базового порядкового типа, поэтому результат применения к нему функции ORD(X) зависит от свойств этого типа.

К порядковым типам можно также применять функции:

  • PRED (X) – возвращает предыдущее значение порядкового типа (значение, которое соответствует порядковому номеру ORD(X) – 1), т.е.
ORD(PRED(X)) = ORD(X) -1;
  • SUCC (X) – возвращает следующее значение порядкового типа, которое соответствует порядковому номеру ORD(X) +1, т.е.
ORD(SUCC(X)) = ORD(X) + 1.

Например, если в программе определена переменная:

var
с: Char;
begin
с: = '5';
end.

То функция PRED(C) вернет значение '4', а функция SUCC(C) – значение '6'.

Если представить себе любой порядковый тип как упорядоченное множество значений, возрастающих слева направо и занимающих на числовой оси некоторый отрезок, то функция PRED(X) не определена для левого, a SUCC(X) – для правого конца этого отрезка.

Целые типы

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

Таблица 4.1. Целые типы.

Название Длина, байт Диапазон значений
Byte 1 0…255
ShortInt 1 -128…+127
Word 2 0…65535
Integer 2 -32768…+32767
LongInt 4 -2 147 483 648… +2 147 483 647

При использовании процедур и функций с целочисленными параметрами следует руководствоваться "вложенностью" типов, т.е. везде, где может использоваться WORD, допускается использование BYTE (но не наоборот), в LONGINT "входит" INTEGER, который, в свою очередь, включает в себя SHORTINT.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.