Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BorlandPascal.doc
Скачиваний:
54
Добавлен:
17.03.2015
Размер:
2.83 Mб
Скачать

Отрезки типа

Отрезок типа представляет собой диапазон значений из поряд-

кового типа, называемого главным типом. Определение отрезка типа

включает наименьшее и наибольшее значение в поддиапазоне. Оно

имеет следующий синтаксис:

отрезок ------------ ----- ------------

типа ----------->¦ константа +--->¦ .. +--->¦ константа +--->

L------------ L----- L------------

Обе константы должны иметь один и тот же порядковый тип. От-

резки типов, имеющие вид a..b, предполагают, что a меньше или

равно b.

Приведем примеры отрезков типов:

0..99

-128..127

club..heart

Переменная отрезка типа имеет все свойства переменных глав-

ного типа, однако ее значение на этапе выполнения должно принад-

лежать указанному интервалу.

Разрешение использования выражений-констант там, где стан-

дартный Паскаль допускает только простые константы, приводит к

некоторой синтаксической неоднозначности. Рассмотрим следующие

описания:

const

X = 50;

Y = 10;

type

Color = (Red, Green, Blue);

Scale = (X - Y) * 2..(X + Y) * 2;

Согласно синтаксису стандартного Паскаля, если определение

типа начинается с круглой скобки, то это перечислимый тип (такой

как Color в данном примере). Однако Scale предназначен для опре-

деления отрезка типа. Решение состоит в том, чтобы переупорядо-

чить первое выражение поддиапазона или задать другую константу,

равную значению данного выражения, и использовать эту константу в

определении типа:

type

Scale = 2 * (X - Y)..(X + Y);

Вещественные типы

К вещественному типу относится подмножество вещественных чи-

сел, которые могут быть представлены в формате с плавающей точкой

с фиксированным числом цифр. Запись значения в формате с плаваю-

щей запятой обычно включает три значения - m, b и e - таким обра-

зом, что m x b^e=n, где b всегда равен 2, а m и e являются цело-

численными значениями в диапазоне вещественного типа. Эти

значения m и e далее определяют диапазон представления и точность

вещественного типа.

Имеется пять видов вещественных типов: вещественное (Real),

с одинарной точностью (Single), с двойной точностью (Double), с

повышенной точностью (Extended) и сложное (Comp). Действия над

типами с одинарной точностью, с двойной точностью и с повышенной

точностью и над сложным типом могут выполняться только при нали-

чии числового сопроцессора 8087 (который был описан ранее).

Вещественные типы различаются диапазоном и точностью связан-

ных с ними значений (см. Таблицу 4.2).

Диапазон представления

и десятичные цифры для вещественных типов Таблица 4.2

------------------------T---------------------------T-----------

¦ Тип ¦ Диапазон ¦ Цифры ¦

+-----------------------+---------------------------+-----------+

¦ вещественное ¦2.9x10^-39 .. 1.7x10^38 ¦от 11 до 12¦

¦ (Real) ¦ ¦ ¦

+-----------------------+---------------------------+-----------+

¦ с одинарной точностью ¦1.5x10^-45 .. 3.4x10^38 ¦от 7 до 8 ¦

¦ (Single) ¦ ¦ ¦

+-----------------------+---------------------------+-----------+

¦ с двойной точностью ¦5.0x10^-324 .. 1.7x10^308 ¦от 15 до 16¦

¦ (Double) ¦ ¦ ¦

+-----------------------+---------------------------+-----------+

¦ с повышенной точностью¦1.9x10^-4951 .. 1.1x10^4932¦от 19 до 20¦

¦ (Extended) ¦ ¦ ¦

+-----------------------+---------------------------+-----------+

¦ сложный тип ¦ -2^63 + 1 .. 2^63 - 1 ¦ ¦

¦ (Comp) ¦ ¦ ¦

L-----------------------+---------------------------+------------

Примечание: Сложный тип содержит только целочисленные

значения в диапазоне от -2^63+1 до 2^63-1, что приблизи-

тельно равно -9.2x10^18 и 9.2x10^18.

Borland Pascal поддерживает две модели генерации кода для

выполнения действий над вещественными типами: программную для чи-

сел с плавающей точкой и аппаратную для чисел с плавающей точкой.

Выбор соответствующей модели осуществляется с помощью директивы

компилятора $N.

Соседние файлы в предмете Программирование на Pascal