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

Программная поддержка чисел с плавающей точкой

В состоянии {$N-}, которое устанавливается по умолчанию, ге-

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

программно, через вызов подпрограмм библиотеки исполняющей систе-

мы. Из-за соображений скорости и размера кода в этом состоянии

допускаются только действия над переменными типа real (веществен-

ное). Любая попытка оттранслировать операторы, выполняющие дейс-

твия над типами с одинарной точностью, с двойной точностью, с по-

вышенной точностью и над сложными типами, вызовет сообщение об

ошибке.

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

В состоянии {$N+} генерируемый код выполняет все вычисления

над вещественными типами с помощью числового сопроцессора 8087.

Это состояние позволяет использовать все пять вещественных типов,

однако оно требует наличия сопроцессора 8087 на этапе компиляции

и выполнения.

Borland Pascal включает в себя библиотеки исполняющей систе-

мы, которые автоматически эмулируют программным путем сопроцессор

80х87, если при выполнении прикладной программы DOS реального или

защищенного режима он отсутствует. Для определения того, следует

ли в программу DOS включить эмулятор сопроцессора 80x87, исполь-

зуется директива компилятора $E. Если вы создает прикладную прог-

рамму для реального или защищенного режима DOS, и сопроцессор

80х87 отсутствует, разрешение директивы компилятора $E обеспечи-

вает полную программную эмуляцию сопроцессора 80x87. Для программ

Windows директива $E не действует, так как Windows обеспечивает

собственные подпрограммы эмуляции.

Примечание: Более детальное описание генерации кода

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

те найти в Главе 15 "Использование сопроцессора 8087 в

Borland Pascal".

Строковые типы

Значением строкового типа является последовательность симво-

лов с динамическим атрибутом длины (в зависимости от действитель-

ного числа символов при выполнении программы) и постоянным атри-

бутом размера в диапазоне от 1 до 255. Текущее значение атрибута

длины можно получить с помощью стандартной функции Length.

-------

строковый тип --->¦string+--T------------------------------>

L------- ¦ ^

¦ ---- ------ ---- ¦

L->¦ [ +-->¦целое+-->¦ ] +--

L---- ¦ без ¦ L----

¦знака¦

L------

Примечание: Операторы работы со строковыми типами опи-

сываются разделах "Строковые операторы" и "Операторы отно-

шений" Главы 6.

Отношение между любыми двумя строковыми значениями устанав-

ливается согласно отношению порядка между значениями символов в

соответствующих позициях. В двух строках разной длины каждый сим-

вол более длинной строки без соответствующего символа в более ко-

роткой строке принимает значение "больше"; например, 'Xs' больше,

чем 'X'. Нулевые строки могут быть равны только другим нулевым

строкам, и они являются наименьшими строковыми значениями.

Примечание: Стандартные процедуры и функции для работы

со строковыми типами описаны в разделе "Строковые процедуры

и функции".

К символам в строках можно обращаться как к элементам масси-

ва. См. раздел "Массивы, строки и индексы" в Главе 5.

К идентификатору строкового типа и к ссылке на переменную

строкового типа можно применять стандартные функции Low и High. В

этом случае функция Low возвращает 0, а High возвращает атрибут

размера (максимальную длину) данной строки.

Параметр-переменная, описанная с помощью идентификатора

OpenString и ключевого слова string в состоянии {$P+}, является

открытым строковым параметром. Открытые строковые параметры поз-

воляют передавать одной и той же процедуре или функции строковые

переменные изменяющегося размера.

Примечание: Открытые строковые параметры описываются в

Главе 9.

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