Вопрос 33.
15. Модули.
Модульное программирование – это организация программы как совокупности небольших независимых блоков, называемых модулями, структура и поведение которых подчиняются определенным правилам. Модуль – это отдельно создаваемая и компилируемая программная единица, имеющая собственное имя, включающая в себя различные компоненты раздела описаний (типы, константы, переменные, процедуры и функции). Модуль сам по себе не является выполняемой программой – его объекты используются другими программными единицами. Важная особенность модулей заключается в том, что компилятор ТР размещает их программный код в отдельном сегменте памяти. Максимальная длина сегмента не может превышать 64 Кб, однако количество одновременно используемых модулей ограничивается лишь доступной памятью, что дает возможность создавать довольно крупные программы.
16. Структура модулей.
Модуль имеет след. структуру:
Unit <имя>;
Interface
<интерфейсная часть- раздел описаний>
implementation
<исполняемая часть – раздел реализации>
begin
<инициирующая часть>
end.
Таким образом, модуль состоит из заголовка и трех составных частей, любая из которых может быть пустой.
Первая строка текста модуля – это его заголовок. Он состоит из зарезервированного слова UNIT (модуль) и следующего за ним идентификатора – имени модуля. Это имя должно быть уникальным и совпадать с именем дискового файла , в котором будет помещен исходный текст модуля. Имя модуля служит для его связи с другими модулями и основной программой. Эта связь устанавливается специальным предложением USES <список модулей>; (через запятую). Это предложение можно поместить после раздела описаний или раздела реализации.
Интерфейсная часть (раздел описаний) начинается со слова Interface и заканчивается словом implementation (выполнение). в этой части содержатся объявления всех глобальных объектов модуля (типов, констант, переменных и подпрограмм), которые должны стать доступными основной программе и другим модулям. Инт. часть называют «видимой», т.к. она определяет что именно видно программе, использующей данный модуль. Константы, типы и переменные описываются обычным образом, а при объявлении глобальных подпрограмм указвается только их заголовок.
Исполняемая часть содержит описания подпрограмм, объявленных в интерфейсной части. В заголовке подпрограммы можно опустить список формальных переменных и тип результата, но если пишете полностью, то он должен совпадать с заголовком в интерфейсной части.
Кроме того, здесь могут объявляться локальные для модуля объекты (не видимые извне) – вспомогательные типы, константы, подпрограммы, метки. Они используются процедурами и функциями, имена которых указаны в инт. части.
Инициирующая часть завершает модуль. Она может отсутствовать и может быть пустой. В ней размещаются исполняемые операторы, содержащие некоторый фрагмент программы. Эти операторы исполняются до передачи управления основной программе и обычно используются для подготовки её работы.
Операторы раздела инициализации выполняются только один раз при запуске программы, а не при каждом обращении к модулю.
Не рекомендуется делать эту часть пустой, лучше её опустить вовсе.
17. Стандартные модули.
В ТР имеется 8 стандартных модулей, в которых содержится большое число разнообразных типов, констант, процедур и функций. Этими модулям являются: SYSTEM, DOS, CRT, GRAPHP, PRINTER, OVERLAY, TURBO3 и GRAPH3. Модули GRAPHP, TURBO3 и GRAPH3 выделены TPU – файлы, а остальные входят в состав библиотечного файла TURBO.TPL. Лишь один модуль SYSTEM подключается к любой программе автоматически, все остальные становятся доступны только после указания их имен в списке, следующем за словом USES.
Модуль SYSTEM. В него входят все процедуры и функции стандартного Паскаля, а также встроенные процедуры и функции, которые не вошли в другие стандартные модули.
Модуль PRINTER. Делает доступным вывод текстов на матричный принтер. В нем определяется файловая переменная LST типа TEXT, которая связывается с логическим устройством PRN (печатное устройство).
Модуль CRT. В нем сосредоточены процедуры и функции, обеспечивающие управление текстовым режимом работы экрана. С помощью входящих в модуль подпрограмм можно перемещать курсор в произвольную позицию экрана, менять цвет выводимых символов и окружающего их фона, создавать окна. Также в модуль включены процедуры слепого чтения клавиатуры и управления звуком.
Модуль GRAPHP. Содержит обширный набор типов, констант, процедур и функций для управления графическим режимом работы экрана. можно создавать разнообразные графические изображения и выводить на экран текстовые надписи стандартными или разработанными программистами шрифтами. Подпрограммы этого модуля могут поддерживать различные типы аппаратных графических средств.
Модуль DOS. В модуле собраны процедуры и функции, открывающие доступ программам к средствам дисковой операционной системе MS-DOS.
Модуль OVERLAY. Он необходим при разработке громоздких программ с перекрытиями. В память программа загружается не вся, а частями по необходимости.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.