Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_TP.doc
Скачиваний:
10
Добавлен:
22.12.2018
Размер:
1.4 Mб
Скачать

Директивы компилятора.

В главное меню Турбо Паскаля включены дополнительные опции для работы компилятора.

OPTIONS/COMPILER

Для этого в программе используются директивы компилятора. Они оформляются в виде комментариев:

{$<ДИРЕКТИВЫ КОМПИЛЯТОРА>+}

(-)

« - « - для использования директивы

«+» - для ее отключения.

Директивы:

  1. А – «+» - выравнивать, «-« - не выравнивать;

  2. В – вычислять, не вычислять логическое выражение полностью;

  3. N – использовать, не использовать числовой сопроцессор операции с плавающей точкой;

  4. V – включить, отключить контроль длины строк при обращении к подпрограмме.

Модули.

Это прекрасное средство для разработки библиотек прикладных программ и мощное средство модульного программирования. В языке Турбо Паскаль модуль(UNIT) по определению отдельная программа. Модуль – автономно компилируемая программная единица. Все программные ресурсы модуля можно разбить на 2 части:

А) объекты предназначенные для использования другими подпрограммами;

B) объекты рабочего характера.

Описание объектов доступных из других программ – видимые объекты или объекты вне модуля. Рабочие объекты(т.е. объекты самого модуля) – скрытые.

Общая структура модуля.

UNIT<ИМЯ>;

INTERFASE{ОПИСАНИЕ ВИДИМЫХ ОБЪЕКТОВ}

IMPLEMENTATION{ОПИСАНИЕ СКРЫТЫХ ОБЪЕКТОВ}

BEGIN

{РАЗДЕЛ ОПЕРАТОРОВ МОДУЛЯ}

END.

Заголовок модуля и связь модулей друг с другом.

Заголовок состоит из зарезервированного слова UNIT и имени модуля.

Для корректной работы среды Турбо Паскаля и возможности подключения средств, облегчающих работу крупных программ, имя модуля должно совпадать с именем дискового файла, в котором размещается текст модуля.

UNIT IRA; … END;

На дискете:A:\IRA.PAS.

Имя модуля служит для его связи с другими модулями и основной программой. Эта связь устанавливается записью или предложением.

USES<СПИСОК МОДУЛЕЙ>;

USES CRT, IRA, GRAPH;

Список модулей – список установления связи . элементами списка являются имена, отделяющиеся друг от друга запятыми.

Объявление USES должно открывать раздел описаний основной программы. Модули различного уровня могут использовать любые другие модули.

Интерфейсная часть.

  1. содержит объявление всех глобальных объектов модуля: типов, переменных, подпрограмм, которые должны стать доступными основной программе или другим модулям. При объявлении глобальных блоков или подпрограмм в интерфейсной части указывается только заголовок. Нельзя использовать опережающее описание.

Исполняемая часть(реализационная).

  1. содержит тела процедур и функций, объявленных в интерфейсной части. Могут быть объявлены локальные для модуля объекты: вспомогательные типы, переменные, подпрограммы, а также метки.

Ранее объявленные в интерфейсной части глобальные подпрограммы и процедуры должны описываться четко в той же последовательности, в какой появляются их заголовки в интерфейсной части.

Описанию глобального блока в исполнительной части должен предшествовать заголовок, в котором разрешается опускать список формальных параметров. Если заголовок блока приводится в полном виде, он должен совпадать с заголовком в интерфейсной части.

В Турбо Паскале не предусматривается арифметика комплексных чисел. Действия над ними осуществляются с помощью процедур.

Пример:

UNIT CMP;

INTERFACE

TYPE COMPLEX=RECORD RE, IM:REAL;

END;

PROCEDURE ADDC(X,Y:COMPLEX; VAR Z:COMPLEX);

IMPLEMENTATION

PROCEDURE ADDC;

BEGIN

Z.RE:=X.RE+Y.RE;

Z.IM:=X.IM+Y.IM;

END;

END.