Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
posobie.doc
Скачиваний:
27
Добавлен:
31.03.2015
Размер:
1.43 Mб
Скачать

7. Внешние модули (unit) в турбо-Паскале

7.1. Суть и описание модуля

● В стандарте языка Паскаль внешних процедур нет. Однако в системе турбо-Паскаль имеется более мощный механизм внешних модулей, который используется при оформлении процедур вне вызывающей программы.

Модуль (unit) в системе турбо-Паскаль – автономно компилируемая именованная программная единица, не выполняющаяся самостоятельно.

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

Отличия модуля unitот процедуры:

  • модуль может включать более одной процедуры;

  • модуль может включать не только процедуры.

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

Таким образом, модуль в системе турбо-Паскаль - средство более мощное, чем механизм внешних процедур.

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

unit<имя модуля>;

{интерфейсная часть - описания глобальных объектов}

interface

<uses-часть>

<описания глобальных констант, типов, переменных>

<описания глобальных процедур и функций>

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

implementation

<описания локальных объектов>

<описания глобальных процедур и функций

в порядке их перечисления в разделе interface>

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

[begin

<операторы для подготовки программы к работе>

]

end.

Обратите внимание на структуру инициирующей части: она содержит только begin.

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

7.2. Связь модуля с другими модулями и главной программой. Область действия описаний объектов

● Программа, использующая внешние модули, имеет следующую структуру.

Рис. 7.1. Структура программы с внешними модулями

● Доступность объектов из внешних модулей определяется следующим правилом.

Глобальные объекты, описанные в некотором внешнем модулеUNIT(то есть в его интерфейсной части),доступны всем программам или модулям, содержащим ключевое слово USES с именем этого модуля.

Таким образом, доступность объектов однонаправленная: из модуля в программу (или другой модуль), использующую этот модуль, но не наоборот.

Повторное объявление объектов из интерфейсной части в программе (переопределение объектов) делает недействительным их объявление в UNIT; они становятся локальными объектами программы.

Поэтому делать повторные объявления глобальных объектов нельзя.

Для наглядности рассмотрим взаимосвязь трех программных единиц.

Рис. 7.2. Схема доступности объектов внешних модулей

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]