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

Лабораторная работа № 14. Модуль программиста. Многомодульный проект.

При выполнении работы необходимо знать:

  • Что такое модуль программиста, в чем преимущество его использования

  • Как оформить заголовок модуля

  • Что включает интерфейс модуля

  • Как оформить исполнительную часть модуля

  • Для чего нужна секция инициализации

Теоретический минимум:

Для чего используются модули программиста?

Наличие модулей в языке Turbo Pascal позволяет программировать и отлаживать программу по частям, создавать библиотеки подпрограмм и данных.

Если подпрограммы располагаются в разделе описаний в том же файле, что и основная программа, то они будут доступны только этой программе. Если же вынести подпрограммы в отдельный модуль, то при подключении этого модуля его подпрограммы будут доступны любой программе.

Как правильно оформить модуль программиста?

Модуль состоит из следующих частей:

  • Заголовок модуля

  • Интерфейс модуля

  • Исполнительная часть модуля

  • Секция инициализации

Все разделы модуля, за исключением секции инициализации, являются обязательными и должны следовать в указанном порядке.

Заголовок модуля.

Заголовок модуля состоит из зарезервированного слова Unit и имени модуля. Имя модуля придумывает сам программист, и оно должно быть уникальным.

Пример заголовка модуля:

Unit MyModule;

Модуль должен быть помещен в файл, имя которого совпадает с именем модуля, а расширение его должно быть .PAS

Интерфейс модуля.

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

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

В разделе объявления процедур и функций указываются лишь заголовки процедур и функций с параметрами. Сами же процедуры и функции приводятся в исполнительной части.

Исполнительная часть модуля.

Исполнительная часть модуля включает все процедуры и функции модуля. Она может также включать локальные метки, константы, типы, переменные.

Исполнительная часть начинается словом implementation. Далее могут быть: раздел объявления меток, раздел объявления локальных констант, локальных типов, локальных переменных. Затем идут описания подпрограмм модуля. При описании подпрограмм допустимо использовать их сокращенные заголовки.

Секция инициализации.

В некоторых случаях перед обращением к модулю следует провести его инициализацию (например, установить связь с теми или иными файлами при помощи команды Assign, инициализировать какие-либо переменные и т.д.). необходимые действия можно выполнить в секции инициализации модуля. Эта секция начинается словом begin, после которого идут исполняемые операторы, и заканчивается end. (с точкой).

Пример секции инициализации:

Begin

Assign(F1, ‘File1.dat’);

End.

Операторы секции инициализации выполняются один раз в момент запуска программы.

Если инициализация модуля не нужна, то в секции помещается одно слово end. (с точкой).

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

Модуль программиста, оформленный по описанным выше правилам, должен быть помещен в файл, имя которого совпадает с именем модуля, а расширение его должно быть .PAS

Проверить его работу можно только с помощью программы. Сам по себе модуль на выполнение не запускается. Его нужно только откомпилировать на диск. Для этого в меню Compile нужно установить флажок не Distention Memory (установлен по умолчанию), а Distention Disk, левой клавишей мыши щелкнув по этому пункту.

После успешной компиляции на диск (после устранения всех синтаксических ошибок) в текущем каталоге должен появиться файл с тем же именем, что и имя модуля и расширением .TPU

Это означает, что модуль готов к работе и будет доступен любой программе, которая подключит данный модуль при помощи записи:

Uses MyMod; { имя модуля программиста }

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

Задача 14.

Разработать модуль программиста, содержащий следующие процедуры и функции работы с одномерным массивом:

  • Ввод элементов массива случайным образом;

  • Вывод массива на экран;

  • Вычисление количества четных и нечетных по значениям элементов;

  • Увеличение четных или нечетных элементов на заданное число;

Используя процедуры и функции модуля программиста, разработать программу решения следующей задачи:

Задать 2 одномерных числовых массива одинаковой размерности. В том их них, где четных элементов больше, чем нечетных, увеличить на 10 четные элементы и уменьшить на 10 нечетные элементы.