Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

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

Читайте также:
  1. A. підприємство - це відокремлена економічна структура, яка займається виробництвом та реалізацією певних товарів та послуг з метою отримання доходу; Верно
  2. I. Дистрибутивный анализ. Дистрибутивная структура языка на фонемном уровне.
  3. I. Понятие, структура и функции религии. Социологические теории религии.
  4. I. Пражский структурализм.
  5. II. Копенгагенский структурализм.
  6. II. СТРУКТУРА СТУДЕНЧЕСКОЙ НАУЧНОЙ РАБОТЫ
  7. II. Структура уроков
  8. III. Американский структурализм.
  9. III. ПРИМЕРНАЯ СТРУКТУРА КУРСОВОЙ РАБОТЫ
  10. III. Структура выпускной квалификационной работы

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

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

{ $ директивы_компилятора }

INTERFACE { интерфейсная часть: открытые описания }

Uses...; { имена подключаемых модулей }

Const...; { раздел описания констант }

Type...; { раздел описания типов }

Var...; { раздел описания переменных }

Procedure имя (параметры); { заголовки процедур }

...

Function имя (параметры): тип_результата; { заголовки функций }

...

IMPLEMENTATION { исполняемая часть: зарытые описания }

Uses...;

Const...;

Type...;

Var...;

Procedure имя; { тело процедуры }

{ локальные описания }

Begin

...

End;

...

Function имя; { тело функции }

{ локальные описания }

Begin

...

End;

...

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

... { код инициализации }

END.

Имя модуля в заголовке служит для связи модуля с основной программой и другими модулями.

Первая секция (секция интерфейса) начинается вслед за заголовком модуля зарезервированным словом INTERFACE и заканчивается перед зарезервированным словом IMPLEMENTATION. Эта секция «видима» всеми программами или другими модулями, в которых данный модуль используется, а также в других секциях данного модуля. Здесь содержатся описания констант, типов, переменных, а также заголовки процедур и функций, которые доступны использующей этот модуль программе или другому модулю, как если бы они были определены в них самих. Действительные тела процедур и функций, заголовки которых находятся в секции интерфейса (т.е. сами реализации процедур и функций), находятся в секции реализации. Модуль может использовать другие модули. Тогда они присоединяются в предложении Uses сразу после зарезервированного слова INTERFACE. Если модуль, указанный в Uses, использует другие модули, они тоже должны быть указаны в Uses, причем раньше.

Секция реализации начинается зарезервированным словом IMPLEMENTATION. Это «частная» («приватная») часть модуля. Всё, что описано в секции интерфейса, является «видимым» (доступным) в секции реализации. Кроме того, в секции реализации могут быть свои дополнительные описания, которые не являются «видимыми» для программ, использующих этот модуль. Однако эти «спрятанные» описания могут использоваться «видимыми» процедурами и функциями (теми, чьи заголовки указаны в секции интерфейса). Обычные паскалевские процедуры и функции, заявленные в секции интерфейса, должны быть описаны в секции реализации следующим образом. Заголовок подпрограммы должен быть или идентичным заголовку в секции интерфейса, или иметь более краткую форму (только Procedure/ Function имя;). Затем подпрограмма может содержать свои локальные описания (метки, константы, типы, переменные, вложенные процедуры и функции), которые используются только данной подпрограммой. Затем следует основное тело (блок операторов) самой подпрограммы.




Дата добавления: 2015-02-16; просмотров: 78 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав