4.6.1. Типы данных
4.6.1.Структура типов данных
Типы переменных в ТР делятся на простые и структурные. Используя эти типы программист может создавать свои собственные типы. Структура типов данных Delphi приведена на рис.4.12.1. К простым типам относятся вещественные типы и порядковые типы. Порядковые типы в свою очередь включают в себя: целые типы, символьный тип, булевский тип, отрезок типа, перечислимый тип.
Рис.4.12.1.
К структурным типам относятся: тип массив, файловый тип, множественный тип, тип – запись, указатель, тип – класс.
Для всех переменных в программе должен быть указан тип. Тип переменной определяет набор значений, которые она может принимать и действия, которые над ними можно выполнять.
Заметим, что к переменным всех типов можно применять операции отношения (> >= < <= = <>). Результатом этих операций являются значения TRUE или FALSE.
4.6.2. Вещественные типы.
К вещественному типу относится подмножество вещественнных чисел, которые могут быть представлены в форме с плавающей точкой с фиксированным числом цифр. В ТР есть пять видов вещественных типов отличающихся диапазоном значений, точностью представления числа и длинной ячейки памяти.
Таблица 13.1 Вещественные типы
-
тип
диапазон
точность
длина
Single
2E-45 .. 3E38
7 .. 8
4 Б
Real
3E-39 ..2E38
11 .. 12
6 Б
Double
5E-324.. 1.7E-308
15 .. 16
8 Б
Extended
1.9E-4951 .. 1.1E4932
19 .. 20
10 Б
В таблицу не включен вещественный тип СОМР, предназначенный для задач связанных с финансовыми расчетами. Этот тип трактуется как вещественное (чтобы можно было использовать математические функции) число без экспоненциальной и дробной частей.
Пример объявления переменных вещественного типа:
VAR A, B, SUM : EXTENDED;
К данным вещественного типа можно применять арифметические операции
+ - * /
и стандартные функции. Список стандартных функций для данных вещественного типа приведен в таблице 13.2. В этой таблице Integer означает любой целый тип, а Real – любой вещественный тип. Указанная в таблице 13.2 функция Random предназначена для формирования последовательности псевдослучайных чисел.
Таблица 13.2
Обращение |
Тип параметра |
Тип результата |
Примечание |
Abs(x) |
Real, Integer |
Тип аргумента |
Модуль аргумента |
ArcTan(x) |
Real |
Real |
Арктангенс (значение в радианах) с |
Cos(x) |
Real |
Real |
Косинус (угол в радианах) |
Exp(x) |
Real |
Real |
Экспонента
( |
Frac(x) |
Real |
Real |
Выделение дробной части числа |
Int(x) |
Real |
Real |
Выделение целой части числа |
Ln(x) |
Real |
Real |
Натуральный логарифм |
Pi |
|
Real |
|
Random |
|
Real |
Псевдослучайное число, равномерно распределенное в диапазоне 0 . . .|1| |
Random(x) |
Integer |
Integer |
Псевдослучайное целое число, равномерно распределенное в диапазоне 0 . . .(х-1) |
Randomize |
|
|
Инициализация генератора псевдослучайных чисел |
Sin(x) |
Real |
Real |
Синус, угол в радианах. |
Sqr(x) |
Real |
Real |
Квадрат аргумента. |
Sqrt(x) |
Real |
Real |
Корень квадратный |
Round(X) |
Real |
Integer |
Округление до ближайшего целого числа |
Trunc(X) |
Real |
Integer |
Округление в сторону нуля |
Правила.
1. Старшинство операций: * / + - (без скобок, слева направо).
2. Арифметические выражения могут содержать данные целого и вещественного типов. Если хотя бы один операнд в выражении вещественный, то и результат будет вещественного типа.
3. Для операции деления результат всегда вещественного типа.
4.6.3. Порядковые типы.
Эти типы характеризуются следующими свойствами:
- все возможные значения данного порядкового типа представляют собой упорядоченное множество и каждое возможное значение связано с порядковым номером;
для целого типа порядковым номером является само значение, для остальных типов первое значение имеет номер ноль, следующее 1 и т.д.
Стандартные функции для порядковых типов.
К любому значению порядкового типа можно применять стандартные функции:
ORD - возвращает порядковый номер аргумента;
PRED - возвращает предшествующее значение;
SUCC - возвращает последующее значение.
Пример. VAR S : CHAR ;
. . . . . . . . .
S:= '5' ;
Тогда PRED(S) возвращает '4'
SUCC(S) возвращает '6'.
