Исполнительная часть модуля

Интерфейс модуля

Структура модуля пользователя

МОДУЛИ ПОЛЬЗОВАТЕЛЯ

Параметры без типа.

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

Пример функции вычисляющей максимальный элемент в массиве.

Function Max (Var Mas; m : byte) : real;

Type

Tmas = array[1..n] of real;

Var

Xmax : real;

i : byte;

begin

Xmax := Tmas (mas)[1];

For i := 2 to m do

If Xmax < Tmas (Mas)[i] then Xmax := Tmas (Mas)[i];

Max := Xmax;

end;

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

Модуль состоит из следующих частей, расположенных в определенной последовательности

- заголовок модуля;

- интерфейс модуля;

- исполнительная часть модуля;

- секция инициализации.

 

Unit имя; {заголовок модуля}

Interface

{интерфейсная часть}

implementation

{исполнительная часть}

begin

{инициирующая часть}

end.

Первые три раздела являются обязательными.

22.1.1. Заголовок модуля

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

Unit Module;

Модуль должен быть помещен в файл, имя которого совпадает с именем модуля, а его расширение должно быть .pas.

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

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

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

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

Исполнительная часть включает подпрограммы модуля. Она также может включать локальные метки, константы, типы и переменные.

Исполнительная часть начинается, словом implementation. Затем после слова uses указываются имена модулей, которые используются подпрограммами данной исполнительной части (этот раздел необязателен). Если какой-то модуль уже указан в интерфейсе модуля, то в исполнительной части его повторять не следует. Далее могут быть: разделы объявления меток, объявления локальных констант, объявления локальных типов, объявления локальных переменных. Затем идут описания подпрограмм модуля.