4. Порядок вычислений выражений в случае равных приоритетов операций выбирается компилятором оптимальным (кроме логических выражений, вычисляемых слева направо).

5. По умолчанию режим проверки корректности диапазонов значений отключен (режим $R-), что уменьшает код и увеличивает быстродействие.

6. Где только возможно, компилятор заменяет целочисленное умножение на степени числа 2 операцией сдвига влево (shl).

7. По умолчанию производится оптимизация размещения данных в памяти, что задается режимом компиляции $А+.

8. В выполняемый файл не будут включены ветви программы, которые заведомо невыполнимы. Например, строка

if False then Оператор;

будет проигнорирована.

На этапе компоновки программы из ЕХЕ-файла будут автоматически удалены те процедуры, функции и разделы объявления переменных, к которым не происходит обращения в тексте программы. В частности, из этого следует, что объем ЕХЕ-файла определяется не как сумма размеров используемых им библиотек (модулей), а как сумма размеров кодов реально работающих подпрограмм и данных.

Оптимизация при компоновке включается только при компиляции программы на диск.

- 556 -

<p>ПРИЛОЖЕНИЕ 7</p><p>Список демонстрационных процедур и функций</p>Глава 6. Управляющие структуры языка

Program (рис. 6.16)

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

Fast, IntPower (разд. 6.9.6.4)

Примеры рекурсивного вычисления факториала и целой степени числа

Unit Colors (рис. 6.19)

Модуль, выводящий цветовые константы

Глава 8. Обработка символов и строк

ExplodeString (рис. 8.4)

Процедура вывода строки с эффектом раздвижения и звуковым сигналом.

CenterStr (рис. 8.5)

Функция создания строки заданной длины со вставленной в середину подстрокой

ZStr (рис. 8.6)

Процедура преобразования числа в строку так, что предшествующие числу пробелы заменяются на нули

PosN (рис. 8.7)

Функция, возвращающая номер символа, с которого начинается N-е вхождение подстроки в строку

Глава 9. Математические возможности Турбо Паскаля

Binary (рис. 9.1)

Функция перевода целого числа в двоичное представление

Code2to1/Decode1to2 (рис.9.2)

Процедуры кодирования /декодирования двух малых числе в один байт

ATAN2 (рис. 9.3)

Функция возвращающая значение угла наклона оси X в радианах. Возвращаемое значение находится в диапазоне 0…2*Pi и учитывает знаки координат

AcrCos, ArcSin (рис 9.4)

Функции, возвращающие главные значения арккосинуса и арксинуса

Log10 (рис. 9.5)

Функция, возвращающая значение десятичного логарифма

Pwr (рис. 9.6)

Функция, возвращающая значение A в степени X (A > 0)

Gauss (рис. 9.7)

Функция, возвращающая случайное вещественное значение, распределенное по нормальному закону

Глава 11. Ссылки, динамические переменные и структуры

HeapAvall (рис. 11.7)

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

Unit StackManager (рис. 11.10)

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

Глава 12. Ввод, вывод данных и файловая система

FileExists (рис. 12.11)

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

 ReadInteger (рис. 12.14)

Процедура ввода с клавиатуры значения типа Integer с игнорированием любого ввода, не соответствующего этому типу.

Глава 13. Объектно-ориентированное программирование

Program (рис. 13.8)

Каркас программы, реализующей полиморфные операции с динамически распределяемыми объектами с полной обработкой ошибок.

Глава 14. Специальные средства языка

Devices (рис. 14.3)

Программа – демонстрация анализа конфигурации ПЭВМ

FillWord (рис. 14.4)

Процедура заполнения блоков памяти значением типа Word (по аналогии с FillChar)

NewExit (рис. 14.7)

Демонстрация процедуры обработки фатальных ошибок и выхода из программы

Глава 15. Модуль CRT

IsBlinking, GetBackGround, GetForGround (рис. 15.5)

Функции проверки факта мерцания символов на экране, текущего цвета фона и символов

VertStr(рис. 15.9)

Процедура вертикального вывода строки

Spiral (рис.15.10)

Процедура закраски по спирали области экрана

Program (рис. 15.11)

Демонстрация работы процедуры ClrEOL

Program (рис. 15.12, 15.13)

Демонстрация работы процедуры InsLine/DelLine

Program (рис. 15.14)

Демонстрация работы процедуры HighVideo, LowVideo

SoundType (рис. 15.15)

Процедура звуковой печати строк

Phone, Bell, Sirena (рис. 15.16)

Процедуры имитации звуков телефонного звонка, зуммера и сирены

Глава 16. Модуль DOS

XDOSVersoin  (рис. 16.1)

Функция выдачи строки с номером версии MS-DOS

ShowSET (рис. 16.2)

Процедура вывода значений системных переменных MS-DOS

WhatDay (рис. 16.3)

Функция, возвращающая название дня недели по дате

Program (рис. 16.4)

Пример программы, анализирующей время своей работы

ChangeFTime (рис. 16.5)

Процедура смены даты и времени создания файла

Program (рис. 16.6)

Пример программы, анализирующей жесткие диски ПЭВМ

Перейти на страницу:

Поиск

Похожие книги