Доклад: Основні принципи модульного програмування та стеки
Якщо в деякій програмі використовуються власні процедури досить великого розміру, то ці процедури найкраще оформити в вигляді окремого модуля. Існує декілька причин для створення такого модуля. По-перше, модуль може зберігатися як в вихідному виді в PAS-файлі, так і в відкомпільованому файлі з розширенням TPU (Turbo Pascal Unit - модуль ТУРБО ПАСКАЛЬ). Усі процедури не компілюються щораз при перекомпіляції основної програми, а просто їхній код, що міститься в tpu-файлі, компонується з кодом основної програми. Це значно заощаджує час загальної компіляції задачі. По-друге, винесення множини процедур в окремий модуль розвантажує текст основної програми від зайвої захаращеності, робить його більш компактним і зрозумілим для сприйняття. По-третє, модулі з процедурами, що часто зустрічаються в різноманітних програмах, заощаджують час при написанні нових програм. Для цього достатньо помістити потрібний tpu-файл в каталог із новим проектом, в основній програмі підключити цей модуль в рядку uses і далі просто використовувати процедури з цього модуля в тексті основної програми. Будова модуля нагадує створення нової програми. в окремому pas-файлі записується заголовок модуля, константи, змінні, процедури і функції, які використовуються в цьому модулеві:
Unit ім'я_модуля; {це ж ім'я повинно бути іменем файла} Interface {розділ описів}
Const глобальні_константи;
Var глобальні_змінні;
Procedure Ім’я1 (параметри);
Procedure Ім’я2 (параметри); ..
.Procedure Ім’яM (параметри);
Function Ім’я11 (параметри): тип; ...
Function Имя1N (параметри): тип;
Implementation {розділ реалізації};
Const локальні_константи;
Var локальні_змінні;
Procedure Ім’я1; ...
Begin ...End;
Procedure Ім’я2; ...
Begin ...End; ...
Function Ім’я11; ...
Begin ...End; ...
End.
Модуль не виконується як звичайна програма, а компілюється в tpu-файл. Інтерфейсна частина модуля, яка фактично відображає його зміст, компілюється особливо, що дозволяє компілятору надалі дуже швидко переглядати tpu-файли і знаходити потрібні процедури.
Завдання. Створити модуль з набором процедур, що реалізують різноманітні методи сортування числових масивів. Налагодити модуль для використання в наступній лабораторній роботі.
3.1. Приклад програми
unit mmm;
interface
procedure str(var a:array of integer);
procedure sts(var a:array of integer);
procedure bub(var a:array of integer);
procedure qui(var a:array of integer);
implementation
--> ЧИТАТЬ ПОЛНОСТЬЮ <--