Модули в Паскале
Модуль (UNIT -модуль, единица) – автономно (отдельно) компилируемая программная единица, которая содержит компоненты раздела описаний (меток, констант, типов, переменных, процедур, функций), а также может содержать операторы инициализирующей части.Сам модуль не является выполняемой программой, а предназначен для использования другими программами и модулями.
Структура модуля
Модуль имеет следующую структуру:
UNIT INTERFACE IMPLEMENTATION BEGIN END. |
Интерфейсная часть – начинается с ключевого словаInterface (интерфейс, сочленение, соединение) и содержит обращение к другим модулям и объявления (описания) глобальных объектов т. е. меток, констант, типов, переменных, и заголовков процедур и функций которые доступны основной программе и другим модулям (т. е. видимые из вне).
Раздел реализации – начинается с ключевого словаImplementation(выполнение) и содержит описание локальных для модуля объектов т. е. меток, констант, типов, переменных которые не доступны основной программе и другим модулям (т. е. не видимые из вне) и полное описание процедур и функций. При этом в заголовке подпрограмм список формальных параметров м.б. опущен, но если он приводится то должен точно соответствовать описанию в интерфейсной части.
Раздел инициализации – заключается в словесные скобки BEGIN END.
и содержит операторы, которые будут выполнены до передачи управления основной программе. Это могут быть операторы инициализации данных (переменных) Например операторы присваивания, ввода а также процедуры связывания и открытия файлов. Раздел операторов может быть пустым BEGIN END или отсутствовать просто END.
В конце модуля ставится точка.
Исходный текст примерного модуля:
Исходный текст образца программы, использующий модуль:
Результат работы программы - EXE-файл добавлен к сообщению.
Задания для самостоятельного выполнения
1: Создать модуль MY_MODUL, содержащий функцию FACTOR(x) для вычисления факториала числа x и процедуру TABLUMN выводящая на экран таблицу умножения (Пифагора). Создать программу для демонстрации модуля.
2: Добавить в созданный модуль процедуры Nebo(x,c) (заполняет экран x случайными точками цветом c) и Zvezda(x,y,k,c) (рисует пятиконечную звезду с координатами верхней вершины x и y, из отрезков длиной k и цветом c). Продемонстрировать работу модуля в программе.
Внимание! Так как модуль храниться в отдельном файле для проверки вашей работы необходимо сдать весь проект! Имя архива проекта, который вы добавляете к комментарию - unit_avtor, где avtor - ваша фамилия.
Например: unit_gon4ar
Ваши помощники:
Учебник «Информатика 2 часть», К.Ю.Поляков, Е.А.Еремин, параграф 42, стр. 84-86
Сайт: http://www.pascal.helpov.net/index/pascal_modules_programming
Видео:
Уроки на языке Pascal. Урок 19. Модуль (Unit).
Вывод кириллицы в консольном приложении Lazarus