Лабораторная работа № 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 нечетные элементы.
- 230401 «Информационные системы»
- 230115 «Программирование в компьютерных системах»
- Лабораторная работа №1. Организация ввода-вывода информации
- Алфавит языка Turbo Pascal.
- Переменные и константы.
- Основные типы переменных.
- Структура программы.
- Оператор присваивания, операторы ввода с клавиатуры и вывода на экран.
- Процедуры управления выводом на экран.
- Компиляция и выполнение программы.
- Лабораторная работа №2. Арифметические выражения. Программирование алгоритмов линейной структуры.
- Арифметические выражения в языке Turbo Pascal.
- Стандартные арифметические функции.
- Генератор случайных чисел.
- Составление алгоритма и программы для решения задачи.
- Лабораторная работа № 3. Программирование алгоритмов разветвленной структуры. Оператор ветвления if … then … else
- Условный оператор if … then … else.
- Составной оператор.
- Лабораторная работа № 4. Программирование алгоритмов разветвленной структуры. Оператор ветвления case.
- Условный оператор Case.
- Лабораторная работа № 5. Программирование алгоритмов циклической структуры с известным числом повторений.
- Оператор циклаWhile.
- Оператор цикла repeat.
- Вложенные циклы
- Оператор перехода
- Лабораторная работа № 6. Обработка строк с использованием операторов цикла.
- Лабораторная работа № 7. Программирование алгоритмов циклической структуры с неизвестным числом повторений.
- Лабораторная работа № 8. Обработка одномерных числовых массивов.
- Лабораторная работа № 9. Обработка двумерных числовых массивов.
- Лабораторная работа № 10. Использование процедур и функций при обработке массивов.
- Лабораторная работа № 11. Тип запись. Массивы записей.
- Лабораторная работа № 12. Обработка информации из файлов последовательного доступа.
- Лабораторная работа № 13. Обработка информации из файлов прямого доступа.
- Лабораторная работа № 14. Модуль программиста. Многомодульный проект.
- Текст модуля программиста к задаче 14.