Простые типы данныхв Turbo Pascal 7
Опубликовано: 02.09.2018
Простой тип определяет упорядоченное множество значений параметра. В Turbo Pascal имеются следующие группы простых типов:
целые типы; логический тип; символьный тип; перечисляемый тип; тип-диапазон; вещественные типы.
Все простые типы, за исключением вещественных, называются порядковыми типами. Для величин порядковых типов определены стандартные процедуры и функции: Dec, Inc, Ord, Pred, Succ (см. п. 13.1).
3.2.1. Целые типы
В отличие от языка Паскаль, где определен единственный целый тип Integer, в Turbo Pascal имеется пять стандартных типов целых чисел: Shortint, Integer, Longint, Byte, Word. Характеристики этих типов приведены в табл. 2.
Видеоурок «Общие сведения о языке программирования Pascal. Алфавит и словарь языка. Типы данных»
Таблица 2. Целые типы данных
Тип | Диапазон | Формат | Размер в байтах |
Shortint | -128 .. 127 | Знаковый | 1 |
Integer | -32768 .. 32767 | Знаковый | 2 |
Longint | -2147483648 .. 2147483647 | Знаковый | 4 |
Byte | 0 .. 255 | Беззнаковый | 1 |
Word | 0 .. 65535 | Беззнаковый | 2 |
3.2.2. Логический тип
Стандартный логический тип Boolean (размер - 1 байт) представляет собой тип данных, любой элемент которого может принимать лишь два значения: True и False. При этом справедливы следующие условия:
PASCAL ABC. Переменная. Тип данных. Ввод и вывод данных
False Ord (False) = 0 Ord (True) = 1 Succ (False) = True Pred (True) = False
В Turbo Pascal 7.0 добавлено еще три логических типа ByteBool (размер - 1 байт), WordBool (размер - 2 байта) и LongBool (размер - 4 байта). Они введены для унификации с другими языками программирования и со средой Windows. Отличие их от стандартного типа Boolean заключается в фактической величине параметра этого типа, соответствующей значению True. Для вех логических типов значению False соответствует число 0, записанное в соответствующее количество байтов. Значению же True для типа Boolean соответствует число 1, записанное в его байт, а для других типов значению True соответствует любое число, отличное от нуля (хотя функция Ord в этом случае дает значение 1).
3.2.3. Символьный тип
Стандартный символьный тип Char определяет полный набор ASCII-символов. Функция Ord от величины типа Char дает код соответствующего символа. Сравниваются величины символьного типа по своим кодам.
3.2.4. Перечисляемый тип
Перечисляемый тип не является стандартным и определяется набором идентификаторов, с которыми могут совпадать значения параметра. Список идентификаторов указывается в круглых скобках, идентификаторы разделяются запятыми:
type = ();)Важно, в каком порядке перечислены идентификаторы при определении типа, т. к. первому идентификатору присваивается порядковый номер 0, второму - 1 и т. д. Один и тот же идентификатор можно использовать в определении только одного перечисляемого типа. Функция Ord от величины перечисляемого типа дает порядковый номер ее значения.
Пример. Перечисляемый тип.
type Operat = (Plus, Minus, Mult, Divide);
Логический тип является частным случаем перечисляемого типа:
type Boolean = (False, True);
3.2.5. Тип-диапазон
В любом порядковом типе можно выделить подмножество значений, определяемое минимальным и максимальным значением, в которое входят все значения исходного типа, находящиеся в этих границах, включая и сами границы. Такое подмножество определяет тип-диапазон. Тип-диапазон задается указанием минимального и максимального значений, разделенных двумя точками:
type = . . ;
Минимальное значение при определении такого типа не должно быть больше максимального.
Пример. Определение типов-диапазонов.
type
Dozen = 1..12; {числа от 1 до 12} AddSub = Plus..Minus; {операции сложения и вычитания}3.2.6. Вещественные типы
В отличие от стандарта языка Паскаль, где определен только один вещественный тип Real, в Turbo Pascal имеется пять стандартных вещественных типов: Real, Single, Double, Extended, Соmр. Характеристики этих типов см. в табл. 3. Таблица 3. Вещественные типы данных
Тип | Диапазон | Число значащих цифр | Размер в байтах |
Real | 2.9*10-39..1.7*1038 | 11-12 | 6 |
Single | 1.5*10-45..3.4*1038 | 7-8 | 4 |
Double | 5.0*10-324.-1.7*10308 | 15-16 | 8 |
Extended | 3.4*10-4932..1.1*104932 | 19-20 | 10 |
Comp | -263+1..263-1 | 19-20 | 8 |
Тип Comp фактически является типом целых чисел увеличенного диапазона, однако порядковым не считается.
Типы Single, Double, Extended и Comp можно использовать в программах только при наличии арифметического сопроцессора или при включенном эмуляторе сопроцессора (см. пп. 17.5.8 и 17.7.1).