Для обработки ЭВМ данные представляются в виде величин и их совокупностей. С понятием величины связаны такая важная характеристика, как ее тип.
Тип определяет:
В языке Паскаль тип величины задают заранее. Все переменные, используемые в программе, должны быть объявлены в разделе описания с указанием их типа. Обязательное описание типа приводит к избыточности в тексте программ, но такая избыточность является важным вспомогательным средством разработки программ и рассматривается как необходимое свойство современных алгоритмических языков высокого уровня.
Иерархия типов в языке Паскаль такая:
В таблице приведены простые типы данных Турбо Паскаль, объем памяти, необходимый для хранения одной переменной указанного типа, множество допустимых значений и применимые операции.
Идентификатор | Длина (байт) | Диапазон значений | Операции |
Целые типы | |||
integer | 2 | -32768..32767 |
+, -, /, *, Div, Mod, >=, <=, =, <>, <, > |
byte |
1 | 0..255 | +, -, /, *, Div, Mod, >=, <=, =, <>, <, > |
word |
2 | 0..65535 | +, -, /, *, Div, Mod, >=, <=, =, <>, <, > |
shortint |
1 | -128..127 | +, -, /, *, Div, Mod, >=, <=, =, <>, <, > |
longint |
4 | -2147483648..2147483647 | +, -, /, *, Div, Mod, >=, <=, =, <>, <, > |
Вещественные типы | |||
real |
6 | 2,9x10-39 - 1,7x1038 | +, -, /, *, >=, <=, =, <>, <, > |
single |
4 | 1,5x10-45 - 3,4x1038 | +, -, /, *, >=, <=, =, <>, <, > |
double |
8 | 5x10-324 - 1,7x10308 | +, -, /, *, >=, <=, =, <>, <, > |
extended |
10 | 3,4x10-4932 - 1,1x104932 | +, -, /, *, >=, <=, =, <>, <, > |
Логический тип | |||
boolean |
1 | true, false | Not, And, Or, Xor, >=, <=, =, <>, <, > |
Символьный тип | |||
char |
1 | все символы кода ASCII | +, >=, <=, =, <>, <, > |
Перечисляемый и интервальный тип относятся к типам, определяемым пользователем и будут рассмотрены нами позже.
Дополнительные сведения о типах данных..
Порядковые типы, выделяемые из группы простых типов, характеризуются следующими свойствами:
В языке Паскаль введены понятия эквивалентности и совместимости типов. Два типа Т1 и Т2 являются эквивалентными (идентичными), если выполняется одно из двух условий:
type T1 = Integer; T2 = T1; T3 = T2;
Менее строгие ограничения накладываются на совместимость типов. Так, типы являются совместимыми, если:
В Турбо Паскаль ограничения на совместимость типов можно обойти с помощью приведения типов. Приведение типов позволяет рассматривать одну и ту же величину в памяти ЭВМ как принадлежащую разным типам. Для этого используется конструкция
Напрмер, Integer('Z') представляет собой значение кода символа 'Z' в двухбайтном представлении целого числа, а Byte(534) даст значение 22, поскольку целое число 534 имеет тип Word и занимает два байта, а тип Byte занимает один байт, и в процессе приведения старший байт будет отброшен.