К порядковых типов относят цели, логические, символьные, перечисляемый и тип-диапазон. К каждому из них применима функция Ord (x), что возвращает порядковый номер значения выражения Х. Для целых типов функция Ord (x) возвращает само значение Х, то есть Ord (x) = X для Х принадлежащем любом целом типичны. Порядковых типов можно применять функции:
Pred (x) — возвращает предыдущее значение порядкового типа
Ord (Pred (x)) = Ord (x) -1
Succ (x) — возвращает следующее значение порядкового типа, соответствует порядковому номеру Ord (x) +1
Целые типы
Диапазон возможных значений целых типов зависит от их внутреннего представления, которое может занимать один, два, четыре или восемь байтов.
Название | Длина, байт | Диапазон значений |
Byte | 1 | 0 … 255 |
ShortInt | 1 | -127 … + 128 |
SmallInt | 2 | -32768 … + 32767 |
Word | 2 | 0 … 65535 |
Integer | 4 | -2147483648 … + 2147483647 |
LongInt | 4 | -2147483648 … + 2147483647 |
LongWord | 4 | 0 … 4294967295 |
Int64 | 8 | -9 * 18 октября… + 9 * 18 октября |
Cardinal | 4 | 0 … 2 … 2147483647 |
При действиях с целыми числами тип результата будет соответствовать типу операндов, а если операнды относятся к различным целых типов, то — общем типичны, что включает в себя эти два операнда, например, при действиях с ShortInt и Word общим будет тип Integer.
При выполнении следующей программы на экране появится 0:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Procedure First; Var k: word; Begin k = 65535; k = k + 1; Write (k) End. |
Логические типы
К логическим типов в Паскале относят тип Boolean и занимает этот тип один байт. Значением этого типа может быть одна из констант False (ложь) или True (истина).Этот тип, как правило, используют в циклах.
Символьный тип
Значениями символьного типа является множество всех символов ПК. Каждому символу присвоено число в диапазоне от 0 до 255. Это число код внутреннего представления символа, его возвращает функция Ord (x).
К символьного типа Char применимы функции:
Chr (S) — преобразует число типа byte в символ и возвращает его своим значением.
UpCase (S) — возвращает прописную букву, если S — заглавная или же букву, если S — прописная.
Перечисляемый тип
Перечисляемый тип задается перечислением тех значений, он может получать. Каждое значение именуется некоторым идентификатором и располагается в списке, обрамленном круглыми скобками, например:
Type
Colors = (red, white, blue)
Применение перечисляемых типов делает программы нагляднее. Если, например, в программе используются данные, связанные с месяцами года, то такой фрагмент программы очень наглядным:
Type
TypeMonth = (jan, feb, mar, may, jun, jul, aug, sep, oct, nov, dec)
Var
Month: TypeMonth;
Begin
. . . . . . . .
If month = aug Then
Write ( ‘пора на море «)
. . . . . . . .
End.
Тип-диапазон
Тип-диапазон есть подмножество своего базового типа, в качестве которого может выступать любой порядковый тип, кроме типа-диапазона.
Тип-диапазон задается границами своих значений внутри базового типа:
<Мин. знач> … <макс. знач>
Например:
Type
digit = ‘0’ … ‘9’;
dig2 = 48 … 57;
При определении типа следует руководствоваться правилами:
— два символа «..» рассматриваются как один символ, поэтому между ними недопустимы пробелы.
— левая граница диапазона не должна превышать его правую границу.