Операции
Var
Var
Var
Type
Var
Type
Var
Type
имя_типа=тип_значений;
идентификатор: имя_типа;
Пример задания перечисляемого типа:
Colors=(black, red, white);
Var Col:colors;
Переменные перечисляемого типа можно объявлять без предварительного описания типа:
Col:(black, white, green);
Тип-диапазон. Тип-диапазон есть подмножество своего базового типа, в качестве которого может выступать любой скалярный тип, кроме вещественного и типа-диапазона. Тип-диапазон задается границами своих значений внутри базового типа:
минимальное_значение .. максимальное_значение
Пример:
Digit=’0’..’9’;
Dig2=48..57;
D1:Digit;
D2:Dig2;
Тип-диапазон можно непосредственно указывать при объявлении переменной. Пример:
Date:1..31;
Month:1..12;
Вещественные типы. Значения вещественных типов определяют произвольное вещественное число с некоторой конечной точностью, зависящей от внутреннего формата числа.
Тип | Название | Длина, байт | Кол-во цифр мантисы | Диапазон десятичного порядка |
Real | Вещественный | 11..12 | -39..38 | |
Single | С одинарной точностью | 7..8 | -45..38 | |
Double | С двойной точностью | 15..16 | -324..308 | |
Extended | С повышенной точностью | 19..20 | -4932..4932 | |
Comp | Сложный | 10..20 | -2*1063+1.. 2*1063-1 |
Пример:
Min:Real;
Операции делятся на 4 категорий согласно приоритету:
1) унарный минус, not — логическое отрицание; @ – получение адреса операнда;
2) операции группы умножения — * (умножить), mod (деление по модулю), div (целочисленное деление), / (деление), and (логическое "и"), shl – сдвиг влево, shr – сдвиг вправо;
3) операции группы сложения: + (сложение), – (вычитание), or (логическое "или"), xor (исключающее "или");
4) операции отношения: = (равно), <> (не равно), > (больше), < (меньше), >= (больше или равно), <= (меньше или равно), in (проверка принадлежности множеству).
Пример:
F:=2*sin(x)+3/sqrt(1+x*x);