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

Интерфейсная часть открывается зарезервированным словом interface. В этой части содержатся объявления всех глобальных объектов модуля (типов, констант, переменных и подпрограмм), которые должны стать доступными основной программе и/или другим модулям. При объявлении глобальных подпрограмм в интерфейсной части указывается только их заголовок, например:

unitCmplx;

Interface

Type

complex = record

re, im : real

End;

ProcedureAddC (x, у : complex; varz : complex);

ProcedureMulC (x, у : complex; varz : complex);

 

Если теперь в основной программе написать предложение

UsesCmplx;

то в программе станут доступными тип complexи две процедуры – AddC и MulC из модуля Cmplx.

Исполняемая часть.

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

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

unitCmplx;

Interface

Type

complex = record

re, im : real;

End;

procedureAddC (x, у : complex; varz : complex);

Implementation

procedureAddC;

Begin

z.re := x.re + y.re;

z.im := x.im + у.im;

End;

End.

Локальные переменные и константы, а также все программные коды, порожденные при компиляции модуля, помещаются в общий сегмент памяти.

Инициализирующая часть.

Инициализирующая часть завершает модуль. Она может отсутствовать вместе с начинающим ее словом beginили быть пустой – тогда за beginсразу следует признак конца модуля (слово endи следующая за ним точка).

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

unitFileText;

Interface

procedurePrint (s : string);

Implementation

Var

f: text;

Const

name = 'output.txt';

procedurePrint;

Begin

WriteLn(f, s);

End;

{ Начало инициирующей части: }

Begin

Assign (f, name);

ReWrite(f);

{ Конец инициирующей части }

End.

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








Дата добавления: 2017-01-29; просмотров: 823;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.