| 3.2.	Простые типы данныхв Turbo Pascal 7Простой тип определяет упорядоченное множество значений параметра. В Turbo Pascal имеются следующие группы простых типов:
 целые типы;	логический тип;	символьный тип;	перечисляемый тип;тип-диапазон;вещественные типы.
 Все простые типы, за исключением вещественных, называются порядковыми типами. Для величин порядковых типов определены стандартные процедуры и функции: Dec, Inc, Ord, Pred, Succ (см. п. 13.1). 3.2.1.    Целые типыВ отличие от языка Паскаль, где определен единственный целый тип Integer, в Turbo Pascal имеется пять стандартных типов целых чисел:  Shortint,  Integer, Longint, Byte, Word. Характеристики этих типов приведены в табл. 2.  Таблица 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. При этом справедливы следующие условия:False < True
 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 <имя типа>  =  (<идентификатор  1,   идентификатор 2,    ...    , идентификатор N>);)
 Важно, в каком порядке перечислены идентификаторы при определении типа, т. к. первому идентификатору присваивается порядковый номер 0, второму - 1 и т. д. Один и тот же идентификатор можно использовать в определении только одного перечисляемого типа. Функция Ord от величины перечисляемого типа дает порядковый номер ее значения. Пример.   Перечисляемый тип. type  Operat  =   (Plus,   Minus,   Mult,   Divide);  Логический тип является частным случаем перечисляемого типа: type Boolean = (False, True); 3.2.5.	Тип-диапазонВ любом порядковом типе можно выделить подмножество значений, определяемое минимальным и максимальным значением, в которое входят все значения исходного типа, находящиеся в этих границах, включая и сами границы. Такое подмножество определяет тип-диапазон. Тип-диапазон задается указанием минимального и максимального значений, разделенных двумя точками: type
<имя  типа>   =   <мин.   значение>   . .   <макс.   значение>; Минимальное значение при определении такого типа не должно быть больше максимального. Пример.   Определение типов-диапазонов.  typeDozen =  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). 
 
 |