- •Функция.
- •Function имя (список; параметров):тип;
- •1) Возвращаемое значение – скаляр;
- •2) Тип возвращаемого значения должен быть базовым;
- •3) Обязательной является хотя бы однократная запись в теле функции оператора вида:
- •I,max: integer;
- •Модули.
- •Interface
- •Implementation
- •Interface
- •Implementation
- •I,j, X:integer;
- •1: Begin
- •2: Begin
- •3: Begin
- •Var max,imax:integer);
- •I: integer;
Interface
USES список имен подключаемых модулей ;
TYPE описание типов, определенных в данном модуле
и доступных для других модулей ;
CONST описание констант, определенных в данном
модуле и доступных для других модулей ;
VAR описание переменных, определенных в данном
модуле и доступных для других модулей ;
полные заголовки процедур,
определенных в данном модуле и доступных для других модулей ;
полные заголовки функций,
определенных в данном модуле и доступных для других модулей ;
Implementation
USES список имен подключаемых модулей ;
TYPE описание типов, определенных в данном модуле
и недоступных для других модулей ;
CONST описание констант, определенных в данном
модуле и недоступных для других модулей ;
VAR описание переменных, определенных в данном
модуле и недоступных для других модулей ;
{ ПОЛНЫЕ ТЕКСТЫ процедур и функций, описанных в INTERFACE }
реализация процедур, определенных в
данном модуле и доступных для других модулей ;
реализация функций, определенных в данном
модуле и доступных для других модулей ;
{ ПОЛНЫЕ ТЕКСТЫ процедур и функций,
ИСПОЛЬЗУЮЩИХСЯ ТОЛЬКО ВНУТРИ МОДУЛЯ }
ПОЛНЫЕ ТЕКСТЫ процедур,
определенных в данном модуле и недоступных для других модулей ;
ПОЛНЫЕ ТЕКСТЫ функций,
определенных в данном модуле и недоступных для других модулей ;
{ Необязательная часть модуля }
BEGIN это слово необходимо, если далее имеются операторы
секции инициализации
END. { есть всегда }
Интерфейсная и реализационная части могут быть пустыми, но присутствовать должны обязательно. При подключении модуля вначале выполняются операторы секции инициализации (если они имеются), а затем операторы основного блока главной программы, в которую включен данный модуль.
Пример. Требуется написать главную программу, в которой вводится размер вектора и его элементы и вызывается процедура сортировки одномерного массива целых чисел в порядке возрастания. Длина массива не превышает 100. Процедуру разместить в модуле.
pROGRAM MAIN;
Uses Crt,Modsort;
Var
A:mas;
N, I :INTEGER;
Begin
clrscr;
Writeln('Ввод ЧИСЛА ЭЛЕМЕНТОВ МАССИВА:');
Readln(N);
For I:=1 to N do
BEGIN
Writeln('Ввод ЭЛЕМЕНТА #', I );
Readln(A[I]);
end;
SORT(n,A);
Writeln('РАССОРТИРОВАННЫЙ МАССИВ :');
For I:=1 to N do
Writeln(A[I]);
ReadLN;
End.
Первым предложением программы является Uses, в котором подключается стандартный модуль Crt и модуль Modsort, где находится процедура сортировки.
Кроме того, тип, с которым описывается массив, отсутствует в главной программе, т.к. он присутствует в модуле.
Unit Modsort;
