ИНИЦИИРУЮЩАЯ И ЗАВЕРШАЮЩАЯ ЧАСТИ

End.

Begin

Begin

Implementation

Interface type

ИСПОЛНЯЕМАЯ ЧАСТЬ

Type

ИНТЕРФЕЙСНАЯ ЧАСТЬ

Интерфейсная часть открывается зарезервированным словом interface.

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

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

Unit Cmplx;

interface

Complex =record;

re,im: Real ;

end;

Function AddC(x,y: Complex): Complex;

Function MulC(x,y: Complex): Complex;

Если теперь в другом модуле написать предложение Uses Cmplx; то в нем станут доступными тип Сomplex и две процедуры - AddС и МulС из модуля Cmplx.

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

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

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

Unit Cmplx;

Complex =record;

re,im: real;

end;

Function AddC(x,y: Complex): Complex;

Function MulC(x,y: Complex): Complex;

Function AddC(x,y: Complex): Complex;

end;

Function MulC;// Вариант описания подпрограммы без

// повторения списка параметров

end;

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

Инициирующая и завершающая части чаще всего отсутствуют.

Вместе с начинающим их словами initialization и finalization.

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

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

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

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