Содержание

Типы данных

Классификация типов данных

Типы, используемые в программе, написанной на в Паскале, делятся на стандартные и пользовательские. Первые «известны Паскалю» изначально. Они являются частью языка. Поэтому их иногда называют предопредедёнными.

Вторые, пользовательские типы, описаны (определены) в программе, либо в одном из подключённых модулей, даже если этот модуль входит в состав системной библиотеки. Фактически, они являются расширением языка.

С другой стороны, в Паскале, как и во многих других языках программирования, выделяют простые и составные типы данных.

Простые типы данных иначе называют скалярными. Данные таких типов не могут быть разбиты на части. К ним традиционно относятся группы порядковых, действительных и, несколько условно, – укозательных типов. Обратите внимание, что для действительного типа мы можем вычислить целую и дробную части, а целого типа определить знак, но мы их именно вычисляем, а не «берём готовенькими».

Составные типы данных

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

Целочисленные типы

Тип Размер Диапазон значений
Byte1 0 .. 255
Shortint1 -128 .. 127
Smallint2-32 768 .. 32 767
Word20 .. 65 535
Integer2 или 4как у smallint или longint
Cardinal4Longword
Longint4-2 147 483 648 .. 2 147 483 647
Longword40 .. 4 294 967 295
Int648-9 223 372 036 854 775 808 .. 9 223 372 036 854 775 807
QWord80 .. 18 446 744 073 709 551 615

Типы Cardinal, Longword, Smallint, Int64, QWord используются во Free Pascal, но в Borland (Turbo) Pascal не используются. Могут отсутствовать и в других версиях языка Pascal, таких, как Pascal ABC.

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

Логический ( boolean - булевский) тип

Тип Размер Диапазон значений
Boolean1False или True

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

Символьный тип (Char)

Стандартный для языка Pascal символьный тип имеет 256 значений. Переменные этого типа занимают один байт.

Тип Размер Диапазон значений
Char1#0 .. #255 (Множество выводимых символов и соответствующие им номера зависят от кодировки)

Вещественные типы (типы с плавающей запятой)

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

Тип Размер Диапазон значений «Точных» знаков, после запятой
Real4 или 8Зависит от платформы???
Single41.5e-45 .. 3.4e387-8
Double85.0e-324 .. 1.7e30815-16
Extended101.9e-4932 .. 1.1e493219-20
Comp8-2e64+1 .. 2e63-119-20
Currency8-922 337 203 685 477.5808 .. 922 337 203 685 477.58074

Тип Currency используются во Free Pascal, но в Borland (Turbo) Pascal не используется. Может отсутствовать и в других версиях языка Pascal, таких, как Pascal ABC.

Тип Comp предназначен для хранения больших целых чисел со знаком, но использовать переменные данного типа вместо integer, например - в качестве счётчика в цикле for, нельзя. Он относится к группе real-подобных типов.