Цель:Приобретение навыков разработки модулей, содержащих встроенные процедуры и функции.
Краткие сведения:
Стандартный язык Pascal не располагает средствами разработки и поддержки библиотек программиста, которые компилируются отдельно и в дальнейшем могут быть использованы как самим разработчиком, так и другими. Если программист имеет достаточно большие наработки, и те или иные подпрограммы могут быть использованы при написании новых приложений, то приходится эти подпрограммы целиком включать в новый текст.
В Turbo Pascal это ограничение преодолевается за счет, во-первых, введения внешних процедур, во-вторых, разработки и использования модулей. В настоящей публикации на примерах рассмотрим работу с теми и другими программными единицами.
Внешние подпрограммы. Такой механизм предусматривает, что исходный текст каждой процедуры или функции хранится в отдельном файле и при необходимости с помощью специальной директивы компилятора включается в текст создаваемой программы.
Внешние процедуры создаются и внедряются в использующие их программы аналогично функциям, и мы не будем подробно на этом останавливаться.
Модуль — это набор ресурсов (функций, процедур, констант, переменных, типов и т.д.), разрабатываемых и хранимых независимо от использующих их программ. В отличие от внешних подпрограмм модуль может содержать достаточно большой набор процедур и функций, а также других ресурсов для разработки программ. Обычно каждый модуль содержит логически связанные между собой программные ресурсы.
После служебного слова Unit записывается имя модуля, которое (для удобства дальнейших действий) должно совпадать с именем файла, содержащего данный модуль. Поэтому (как принято в MS DOS) имя не должно содержать более 8 символов.
В разделе Interface объявляются все ресурсы, которые будут в дальнейшем доступны программисту при подключении модуля. Для подпрограмм здесь указывается лишь полный заголовок.
В разделе Implementation реализуются все подпрограммы, которые были ранее объявлены. Кроме того, здесь могут содержаться свои константы, переменные, типы, подпрограммы и т.д., которые носят вспомогательный характер и используются для написания основных подпрограмм. В отличие от ресурсов, объявленных в разделе Interface, все, что дополнительно объявляется в Implementation, уже не будет доступно при подключении модуля. При написании основных подпрограмм достаточно указать их имя (т.е. не нужно полностью переписывать весь заголовок), а затем записать тело подпрограммы.
Раздел инициализации (который часто отсутствует) содержит операторы, которые должны быть выполнены сразу же после запуска программы, использующей модуль.
Стандартные модули. В Turbo Pascal имеется восемь стандартных модулей, в которых содержится большое число разнообразных типов, констант,процедур и функций. Эти модули имеют имена SYSTEM, DOS, CRT, PRINTER, GRAPH, OVERLAY, TURBO3 и GRAPH3. Модули GRAPH, TURBO3 и GRAPH3 содержатся в одноименных TPU-файлах, остальные входят в состав библиотеки TURBO.TPL. Модуль SYSTEM подключается ко всем паскалевским программам автоматические, остальные доступны лишь после их объявления в списке USES.
Задания:
Создайте модуль, (см. лабораторную работу№___). Напишите короткую программу с использованием этого модуля.
Контрольные вопросы:
1. Какими причинами обусловлено использование внешних подпрограмм и модулей?
2. Что называется модулем?
3. Назовите составные части модуля.
4. Охарактеризуйте каждую составную часть модуля.
5. Как осуществляется компиляция разработанного модуля?
6. Какие стандартные модули используются в Турбо Паскале?
7. По какому принципу осуществляется работа со стандартными модулями?