Color1, Color2 : Colors; Var

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. Базовые элементы языка программирования

ВЕЩЕСТВЕННЫЕ ТИПЫ

Обработка вещественного числа выполняется с некоторой конечной точностью,

зависящей от его внутреннего
формата (типа).
Название
Длина, байт
Количество значащих цифр
Диапазон значений
Real
15...16
±
5.0·10
-
±
1.7·10
Real48
±
2.9·10
-
±
1.7·10
Single
7...8
±
1.5·10
-
±
3.4·10
Double
15...16
±
5.0·10
-
±
1.7·10
Extended
19...20
±
3.6·10
-
±
1.1·10
Comp
19...20
Currency
922 337 203 685
 
477.5808
922 337 203 685 477.5807

ПРЕДСТАВЛЕНИЕ ВЕЩЕСТВЕННЫХ ЧИСЕЛ В ПАМЯТИ

Структура вещественных чисел в памяти компьютера соответствует представлению в формате с плавающей точкой:

s
знак (1 бит)
е
порядок(
d
бит)
m
мантисса (
r
бит)

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

Color1, Color2 : Colors; Var - student2.ru

ВЕЩЕСТВЕННЫЕ ТИПЫ

Вещественные типы введены в расчете на арифметический сопроцессор– устройство, которое подключается непосредственно к центральному процессору (или интегрировано в ЦП) и предназначено для выполнения операций над числами в формате с плавающей точкой и длинными целыми числами. Сопроцессор всегда обрабатывает числа в формате типа 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.

Операция
Название
Выражение
Результат
=
Равно
А = В
True
, если А равно В
<>
Не равно
А
<>
B
True
, если А не равно В
>
Больше
A > B
True
, если А больше В
<
Меньше
А
<
B
True
, если А меньше В
>=
Больше или равно
А
>=
B
True
, если А больше или равно В
<=
Меньше или равно
А
<=
B
True
,
если А меньше или равно В
in
Принадлежность
А
in M
True
,
если А принадлежит
множеству М

ПРИОРИТЕТ ОПЕРАЦИЙ

Операции
Приоритет
@, not
(высший
)
*, /,
div, mod, and, shr, shl
+
,
-
, or, xor
>
, <, <>, =, <=, >=, in
 
(
низший)

Правила для определения старшинства операций:

• операнд, находящийся между двумя операциями с различными приоритетами, связывается с операцией, имеющей более высокий приоритет;

• операнд, находящийся между двумя операциями с равными приоритетами, связывается с операцией, которая находится слева;

• выражение, заключенной в скобки, перед выполнением вычисляется, как отдельный операнд.

Результат операции @ – адрес операнда.

Билет 23. Структура программы . Содержания разделов.

СТРУКТУРА ПРОГРАММЫ

Program Example;

{$APPTYPE CONSOLE} {директива консольного приложения}

Наши рекомендации