ПРИЛОЖЕНИЕ 3. Простые типы данных
П3.1.Целые типы
Диапазон возможных значений целых типов зависит от их внутреннего представления, которое может занимать 1, 2 или 4 байта.
Название | Длина, байт | Диапазон значений |
Byte | 0...255 | |
Shortint | -128...+127 | |
Smallint | -32 768...+32 767 | |
Word | 0...65 535 | |
Integer | -2 147 483 648...+2 147 483 647 | |
Longint | -2 147 483 648...+2 147 483 647 | |
Cardinal | 0... 2 147 483 647 |
К целочисленным типам применимы следующие процедуры и функции:
Обращение | Тип результата | Действие |
abs (x) | x | Возвращает модуль х |
chr (Byte) | Char | Возвращает символ по его коду |
dec(x[,i]) | --- | Уменьшает значение x на i, а при отсутствии i - на 1 |
inc(x[,i]) | — | Увеличивает значение v на i, а при отсутствии i - на 1 |
Hi(word) | Byte | Возвращает старший байт аргумента |
Hi(integer) | Byte | Возвращает третий по счету байт |
Lo(integer) | Byte | Возвращает младший байт аргумента |
Lo (word) | Byte | Возвращает младший байт аргумента |
Odd(LongInt) | Boolean | Возвращает True, если аргумент - нечетное число |
Random(word) | ---- | Возвращает псевдослучайное число, равномерно распределенное в диапазоне 0...(word) |
sqr (x) | х | Возвращает квадрат аргумента |
swap (integer) | Integer | Меняет местами байты в слове |
swap(word) | Word | Меняет местами байты в слове |
П3.2.Логические типы
К логическим относятся типы Boolean, ByteBool, Bool, WordBool и LongBool. В стандартном Паскале определен только тип Boolean, остальные логические типы введены в Object Pascal для совместимости с Windows: типы Boolean и ByteBool занимают по 1 байту каждый, Bool и WordBool - по 2 байта, LongBool - 4 байта. Значениями логического типа может быть одна из предварительно объявленных констант: False (ложь) или True (истина). Для них справедливы правила:
Ord(False) == 0;
Ord(True)<> 0;
Succ(False) = True;
Pred(True) = False.
П3.3.Символьный тип
Значением символьного типа является множество всех символов. Каждому символу приписывается целое число в диапазоне 0...255. Это число служит кодом внутреннего представления символа, его возвращает функция ord.
Для кодировки в Windows используется код. Первая половина символов ПК с кодами 0...127 постоянна и содержит в себе служебные коды и латинский алфавит. Вторая половина символов с кодами 128...255 меняется для различных шрифтов. Символы с кодами О... 31 относятся к служебным кодам. Если эти коды используются в символьном тексте программы, они считаются пробелами.
К типу Char применимы операции отношения, а также встроенные функции:
Chr (В) - функция типа Char, преобразует выражение В типа Byte в символ и возвращает его своим значением;
UpCase (СН) - функция типа Char, возвращает прописную букву, если СН - строчная латинская буква, в противном случае возвращает сам символ СН (для кириллицы возвращает исходный символ).
П3.4. Перечисляемый тип
Перечисляемый тип задается перечислением тех значений, которые он может получать. Каждое значение именуется некоторым идентификатором и располагается в списке, обрамленном круглыми скобками.
Функции, поддерживающие работу с типами-диапазонами:
High (X) - возвращает максимальное значение типа-диапазона, к которому принадлежит переменная X;
Low (X) - возвращает минимальное значение типа-диапазона.
П3.5. Вещественные типы
Значения вещественных типов определяют произвольное число лишь с некоторой конечной точностью, зависящей от внутреннего формата вещественного числа.
Название | Длина, байт | Кол-во значащих цифр | Диапазон значений | Примечание |
Real | 11...12 | 2,9*10-39...1,7*1039 | При наличии сопроцессора использовать нежелательно, т.к. замедляет работу | |
Single | 7. . .8 | 1,5*10-45…3,4*1038 | - | |
Double | 15...16 | 5,0*10-324...1,7*10308 | - | |
Extended | 19...20 | 3,4*10-4951...1,1*104932 | Применяется наиболее часто | |
Comp | 19...20 | -263...+263-1 | Дробная часть отсутствует | |
Currency | 19...20 | ±922337203685477,5807 | Длина дробной части 4 десятичных разряда |
Для работы с вещественными типами имеются стандартные функции:
Обращение | Тип параметра | Тип результата | Примечание |
abs(x) | вещественный, целый | Тип аргумента | Модуль аргумента |
ArcTan(x) | вещественный | вещественный | Арктангенс (в радианах) |
Cos(x) | вещественный | вещественный | Косинус (в радианах) |
Exp(x) | вещественный | вещественный | Экспонента |
Frac(x) | вещественный | вещественный | Дробная часть числа |
Int(x) | вещественный | вещественный | Целая часть числа |
Ln(x) | вещественный | вещественный | Логарифм натуральный |
Pi | --- | вещественный | p =3.141592653... |
Random | — | вещественный | Псевдослучайное число, равномерно распределенное в диапазоне 0...[1] |
Random(x) | целый | целый | Псевдослучайное целое число, равномерно распределенное в диапазоне 0...x |
Randomize | --- | --- | Инициация генератора псевдослучайных чисел |
Sin (x) | вещественный | вещественный | Синус (в радианах) |
Sqr(x) | вещественный | вещественный | Квадрат аргумента |
Sqrt(x) | вещественный | вещественный | Корень квадратный |
ПЗ.6. Тип дата-время
Тип дата - время определяется идентификатором TDateTime и предназначен для одновременного хранения и даты, и времени. Над данными типа TDateTime определены те же операции, что и над вещественными числами, а в выражениях этого типа могут участвовать константы и переменные целого и вещественного типов.
Приложение 4