Color3 : (red, white, blue);
...
Color3 := red;
ТИП-ДИАПАЗОН
Тип-диапазон– это подмножество базового типа, в качестве которого может выступать любой целый, логический, символьный или перечисляемый тип. Типдиапазон задается границами своих значений внутри базового типа.
Type
Digit1 = '1'..'9'; {базовый тип - символьный}
Digit2 = 1..9; {базовый тип - целый}
Var
LatCht : 'A'..'Z'; {базовый тип - символьный}
Стандартные функции:
HIGH(X)– возвращает максимальное значение типа-диапазона.
LOW(X)– возвращает минимальное значение типа-диапазона.
Гл. 5. Базовые элементы языка программирования
Билет 22 . Скалярные типы данных (целые , вещественные ) Принципы размещения таких чисел в памяти компьютера .
ПОРЯДКОВЫЕ ТИПЫ
Рассмотренные скалярные типы (целые, символьные, логические, перечисляемый, тип-диапазон) относятся к классу порядковых типов. Все значения порядкового типа можно упорядочить, с каждым из них можно сопоставить целое число – порядковый номер значения.
К любому из порядковых типов применима функция ORD(X), которая возвращает порядковый номер значения Х.
Целые типы: ORD(X) = X (кроме Int64).
Логический тип Boolean: ORD(False) = 0, ORD(True) = 1.
Символьные типы: ORD(X) = код символа X.
Перечисляемый тип: ORD(X) = целое число 0..65535 в соответствии с положением Х в списке.
Тип-диапазон: ORD(X) определяется свойствами базового типа.
Стандартные функции:
PRED(X)– возвращает предыдущее значение порядкового типа; ORD(PRED(X)) = ORD(X) - 1.
SUCC(X)– возвращает следующее значение порядкового типа; ORD(SUCC(X)) = ORD(X) + 1;
Var С,D : Char; begin C := 'f'; D := PRED(C); end.
Гл. 5. Базовые элементы языка программирования
ВЕЩЕСТВЕННЫЕ ТИПЫ
Обработка вещественного числа выполняется с некоторой конечной точностью,
зависящей от его внутреннего |
ПРЕДСТАВЛЕНИЕ ВЕЩЕСТВЕННЫХ ЧИСЕЛ В ПАМЯТИ
Структура вещественных чисел в памяти компьютера соответствует представлению в формате с плавающей точкой:
1 + d + r = 8N, где N – число байт, отводимых под переменную данного типа (Single – d = 8 бит, r = 23 бита; Extended – d = 15 бит; r = 64 бита).
s = 0, если знак числа "+"; s = 1, если знак "-"; е – задает истинный порядок числа t = e – (2d-1 – 1) ; m – задает мантиссу (дробную часть) m1 = m·2-r (0 ≤ m1 < 1).
Записанное число может быть определено по формуле:
(-1)s·(1+m1)·2t нормализованная запись
Пример: (-0.15625)10 как тип Single – N = 2 байта (s = 1, d = 8, r = 23).
(-0.15625)10 = (-0.00101)2 = (-1.01)2·2-3, т.е. t = (-3)10, m1 = (0.01)2 => s= 1 , e= -3 + (27 – 1) = (124)10 = (0111 1100)2, m= m1·223 = (10 0000 0000 0000 0000 0000)2
ВЕЩЕСТВЕННЫЕ ТИПЫ
Вещественные типы введены в расчете на арифметический сопроцессор– устройство, которое подключается непосредственно к центральному процессору (или интегрировано в ЦП) и предназначено для выполнения операций над числами в формате с плавающей точкой и длинными целыми числами. Сопроцессор всегда обрабатывает числа в формате типа Extended (остальные вещественные типы получаются усечением результатов до нужных размеров).
Var
E1,E2 : Extended; E3 : Double; Result : Single;
...
Result := E1*E2/E3;
Тип Currencyиспользуется для представления денежных единиц. В памяти он хранится как масштабированное в 10 000 раз 8-байтовое целое (минимизируются ошибки округления). Совместим с другими вещественными типами.
Значения типа Comp– вещественные представления "больших" целых чисел. Оставлен для обратной совместимости с ранними версиями языка.
Возможные ситуации, когда результат арифметических операций неудовлетворяет ограничениям на диапазон (или форму) представляемых чисел:
– переполнение (Var X,Y:SmallInt;...X:=20000; Y:=15000; X:=X+Y;) – "исчезновение порядка".
ОПЕРАЦИИ ОТНОШЕНИЯ
Операции отношения выполняют сравнение двух совместимых операндов и определяют, истинно значение выражения или ложно. Определены для скалярных типов, строк, множеств и др. Результат – True или False.
, если А больше или равно В |
если А меньше или равно В |
ПРИОРИТЕТ ОПЕРАЦИЙ
Правила для определения старшинства операций:
• операнд, находящийся между двумя операциями с различными приоритетами, связывается с операцией, имеющей более высокий приоритет;
• операнд, находящийся между двумя операциями с равными приоритетами, связывается с операцией, которая находится слева;
• выражение, заключенной в скобки, перед выполнением вычисляется, как отдельный операнд.
Результат операции @ – адрес операнда.
Билет 23. Структура программы . Содержания разделов.
СТРУКТУРА ПРОГРАММЫ
Program Example;
{$APPTYPE CONSOLE} {директива консольного приложения}