15.5. Использование модуля в основной программе
Чтобы использовать подпрограммы, константы, типы, переменные, описанные в интерфейсе модуля, в основной программе следует записать слово uses, после которого указать имя (имена) модуля (модулей). После этого в основной программе можно использовать идентификаторы, указанные в интерфейсах перечисленных модулей.
Пример. Программа, меняющая в массиве максимальное и минимальное числа.
| program EXAMPLE26; |
{заголовок программы} |
| uses Unitl, Unit2; |
{используемые модули} |
| var i: Integer; |
|
| begin |
|
| Change(Arr); |
{процедура замены в Unitl, массив Arr - в Unit2} |
| for i := 1 to N do |
{N-в Unit2} |
| WriteLn(Arr[i]) |
|
| end. |
|
| {модули, расположенные в других файлах} |
|
| unit Unit1; |
{модуль с основной подпрограммой} |
| interface |
{интерфейс первого модуля} |
| uses Unit2; |
{использование модуля с параметрами} |
| procedure Change(var Arr: Mass); |
{заголовок процедуры} |
| implementation |
{исполнительная часть} |
| uses Unit3; |
{использование модуля с вспомогательной подпрограммой} |
| procedure Change; |
{сокращенный заголовок} |
| var Max, Min, i: Integer; |
|
| begin |
|
| Max := 1; |
|
| Min :=1; |
|
| for i := 1 to N do |
{ N-B Unit2} |
| begin |
|
| if Arr[i] > Arr[Max] |
|
| then Max := i; |
|
| if Arr[i] < Arr[Min] |
|
| then Min : = i |
|
| end; |
|
| Swap(Arr[Max], Arr[Min]) |
{замена местами макс. И мин. Чисел, процедура в Unit3} |
| end |
|
| end. |
{конец Unit1} |
| unit Unit2; |
{модуль с параметрами} |
| interface |
{интерфейс второго модуля} |
| const N = 5; |
{число элементов} |
| type Mass = array[l..N] of Real; |
{тип массива} |
| const Arr: Mass =(0.5, -2.0, l.0, 3.5, 7.0); |
{типизированная константа} |
| implementation |
{исполнительная часть} |
| end. |
{конец Unit2} |
| unit Unit3; |
{модуль с вспомогательной подпрограммой} |
| interface |
{интерфейс третьего модуля} |
| procedure Swap(var X, Y: Real) |
|
| implementation |
{исполнительная часть} |
| procedure Swap(var X, Y: Real); |
{перемещение двух чисел} |
| var Z: Real; |
|
| begin |
|
| Z := X; X :- Y; Y := Z |
|
| end |
|
| end. |
{конец Unit3} |
|