Типы, используемые в программе, написанной на в Паскале, делятся на стандартные и пользовательские. Первые «известны Паскалю» изначально. Они являются частью языка. Поэтому их иногда называют предопредедёнными.
Вторые, пользовательские типы, описаны (определены) в программе, либо в одном из подключённых модулей, даже если этот модуль входит в состав системной библиотеки. Фактически, они являются расширением языка.
С другой стороны, в Паскале, как и во многих других языках программирования, выделяют простые и составные типы данных.
Простые типы данных иначе называют скалярными. Данные таких типов не могут быть разбиты на части. К ним традиционно относятся группы порядковых, действительных и, несколько условно, – укозательных типов. Обратите внимание, что для действительного типа мы можем вычислить целую и дробную части, а целого типа определить знак, но мы их именно вычисляем, а не «берём готовенькими».
Составные типы данных
Тип | Размер | Диапазон значений |
---|---|---|
Byte | 1 | 0 .. 255 |
Shortint | 1 | -128 .. 127 |
Smallint | 2 | -32 768 .. 32 767 |
Word | 2 | 0 .. 65 535 |
Integer | 2 или 4 | как у smallint или longint |
Cardinal | 4 | Longword |
Longint | 4 | -2 147 483 648 .. 2 147 483 647 |
Longword | 4 | 0 .. 4 294 967 295 |
Int64 | 8 | -9 223 372 036 854 775 808 .. 9 223 372 036 854 775 807 |
QWord | 8 | 0 .. 18 446 744 073 709 551 615 |
Типы Cardinal
, Longword
, Smallint
, Int64
, QWord
используются во Free Pascal, но в Borland (Turbo) Pascal не используются. Могут отсутствовать и в других версиях языка Pascal, таких, как Pascal ABC.
Целочисленные типы делятся по размеру занимаемой памяти, а также - по возможности или невозможности сохранять отрицательные значения. Первые называются знаковыми, вторые - беззнаковыми.
Тип | Размер | Диапазон значений |
---|---|---|
Boolean | 1 | False или True |
По техническим причинам могут существовать другие логические типы, отличающиеся своим размером от стандартного boolean
, но нас они не интересуют.
Стандартный для языка Pascal символьный тип имеет 256 значений. Переменные этого типа занимают один байт.
Тип | Размер | Диапазон значений |
---|---|---|
Char | 1 | #0 .. #255 (Множество выводимых символов и соответствующие им номера зависят от кодировки) |
Эти типы используются для работы с дробными или с очень большими значениями. Обратите внимание, значения этих типов всегда рассматриваются как приближённые значения.
Тип | Размер | Диапазон значений | «Точных» знаков, после запятой |
---|---|---|---|
Real | 4 или 8 | Зависит от платформы | ??? |
Single | 4 | 1.5e-45 .. 3.4e38 | 7-8 |
Double | 8 | 5.0e-324 .. 1.7e308 | 15-16 |
Extended | 10 | 1.9e-4932 .. 1.1e4932 | 19-20 |
Comp | 8 | -2e64+1 .. 2e63-1 | 19-20 |
Currency | 8 | -922 337 203 685 477.5808 .. 922 337 203 685 477.5807 | 4 |
Тип Currency используются во Free Pascal, но в Borland (Turbo) Pascal не используется. Может отсутствовать и в других версиях языка Pascal, таких, как Pascal ABC.
Тип Comp
предназначен для хранения больших целых чисел со знаком, но использовать переменные данного типа вместо integer
, например - в качестве счётчика в цикле for
, нельзя. Он относится к группе real
-подобных типов.