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} |
|