Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
программирование 2 семестр 1 курс.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
523.82 Кб
Скачать

Структура модуля .

Структура модуля отображает правило построения модуля ю

Модуль разделен на 4 части :

  1. Unit

«имя модуля » - заголовок модуля

  1. Interface

«Интерфейсная часть » - раздел объявлений

  1. Implementation

«исполняемая часть » - раздел реализации

  1. [Begin

«инициирующая часть »]

End; Раздел инициализации

  1. Заголовок модуля . Заголовок определяет имя модуля , по которому модуль будет подключаться к программе . Имя модуля , стоящее после ключевого слова Unit должно совпадать с именем файла , в который помещается исходный текст модуля (совпадать может только 8 символов имении , так как файл определяется 8-ю символами ).Если текст модуля находится в файле Modul_1.Pas , то заголовок будет unit modul_1;

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

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

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

Unit Modul_1;

Interface

Uses modul_2;

Type

«библиотечные типы »

Const

«библиотечные константы»

Var «библиотечные переменные »

«Заголовки библиотечных процедур и функции »

Procedure P1(x:byte);

Procedure P1 (x:byte);

Function F1 (ch:char):byte;

……………..

  1. Раздел реализации.

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

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

Если в процедурах необходимо использовать переменные , объявленные в других модулях , то иcпользуется директива Uses

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

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

Unit modul_1;

Interface

.

Procedure P1 (x:byte);

Procedure P1 (x,y:byte);

Function f1 (ch:char ):byte;

Implementation

Uses

Type «Локальные типы »

const «локальные константы»

Var

«локальные переменные»

Procedure P1;

Begin

«тело Р1»;

End;

Procedure P2;

Begin

«тело Р2»; «Библиотечные процедуры»

End;

Function F1;

Begin

«тело F1»;

End;

P rocedure L1;

Begin «Локальная процедура»

End;

  1. Раздел инициализации. Этот Раздел является завершающей частью модуля .Часто эта часть в модуле отсутствует тогда модуль завершается словом End. .

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

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

ЛЕКЦИЯ № 17

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