Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Модули

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

Модуль имеет структуру:

Unit<имя модуля>; // заголовок модуля

<интерфейсная часть>

Resourcestring // не обязательный

<строки ресурсов>

Implementation // не обязательный

<исполняемая часть>

Initialization // не обязательный

<инициирующая часть>

Finalization // не обязательный

<завершающая часть>

End. // окончание тела модуля

Заголовок модуля состоит из зарезервированного слова UNIT и следующего за ним имени модуля. Это имя должно совпадать с именем исходного текста. Имя модуля служит для его связи с другими модулями и основной программой. Эта связь устанавливается специальным предложением: Uses<список имен модулей через запятую>.

Имя модуля можно указывать в виде:

<имя модуля> [ In ‘<имя файла с модулем>.pas ’]

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

Строки ресурсов содержат описания строк ресурсов (п.1.3.1.2).

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

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

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

Пример создания модуля Cmplx с процедурами сложения и вы­чи­тания комплексных чисел:

Unit Сmplx; //имя модуля

Interfac e //интерфейсная часть с объявлением типов и процедур

Type complex = record re, im: real; end; //объявления типа

Procedure ADDC (x, у: сomplex; var z: complex); //объявление процедуры

Procedure SUBC (x, у: сomplex; var z: complex);//объявление процедуры

Implementation //исполнимая часть с текстами процедур

Procedure ADDC; begin z.re: =x.re+y.re; z.im:= x.im+y.im; end;//процедура

Procedure SUBC; begin z.re:= x.re‑y.re; z.im: =x.im‑y.im; end;//процедура

End. //окончание модуля




Поделиться с друзьями:


Дата добавления: 2014-12-08; Просмотров: 458; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.