Этапы разработки программы. Разработка или выбор алгоритма решения поставленной задачи. Оформление документации на программу, страница 27

Даны две матрицы размерности NM. Поменять местами строки матриц, в которых находятся максимальные элементы (максимальный элемент один в матрице)

Uses crt;

Const N=20;

          M=20;

Type Mas=array[1..N][1..M] of integer;

Var A,B: Mas; swop: array[1..N] of integer;

j, n1, m1, kA, kB: integer;

procedure vvod (var matr: Mas; x, y: integer);

var i, j: integer;

begin

writeln(‘Введите элементы матрицы:’);

for i:=1 to x do

for j:=1 to y do

begin

write(‘matr[‘, i, j,’]=’); readln(matr[i, j]);

end;

end;

function num max (matr: Mas; x, y: integer): integer;

var i, j: integer;

      k, max: integer;

begin k:=0; max:=matr[1, 1];

for i:=1 to x do

for j:=1 to y do

if matr[i, j]>max then begin max:=matr[i,j];

k:=i;

end;

nummax:=k;

end;

procedure viv (matr: Mas; x, y: integer);

var i, j: integer;

begin

for i:=1 to x do

begin for j:=1 to y do

write(matr[i, j]: 6);

writeln;

end;

end;

begin

clrscr;

writeln(‘Введите размеры матриц n1 m2’);                 

readln(n1, m1);

vvod(A, n1, m1);

vvod(B, n1, m1);

kA=nummax(A, n1, m1);

kB=nummax(B, n1, m1);

for j:=1 to m1

begin

swop[j]:=A[kA, j];

A[kA, j]:=B[kB, j];

B[kB, j]:=swop[j];

end;

viv(A, n1, m1);

writeln;

viv(B, n1, m1);

end.

        Модули UNIT. Создание библиотек процедур и функций яз.Turbo Pascal.

    Яз.Turbo Pascal позволяет поместить часто используемые п/п в отдельный модуль и затем применять эти п/п-мы в различных программных, указав имя модуля в инструкциях USES этих программ.

    Модуль UNIT – программная единица, текст который компилируется автономно. Она включает определения констант, типов данных, переменных, процедур и функций, доступных для использования в вызываемых программах. Однако внутренняя структура модуля (тексты п/п-м)скрытые от пользователя.

       Структура модуля UNIT

UNIT <имя модуля>; {заголовок модуля}

Interface {начало раздела объявлений} {интерфейсная часть}

{USES, Const, Type, Var} – объявление доступных извне констант, типов, переменных.

Procedure – объявления (заголовки) процедур;

Function - объявления (заголовки) функций.

Implementation {реализационная часть}

{USES, CONST, TYPE, VAR} – глобальные для модуля переменные, типы данных и т.д.

{procedure, function} – определение скрытых п/п-м.

Инициализационная часть.

begin Если инициализационная часть не содержит операторов, то слово begin не указывается.

End.

Операторы, находящиеся в инициализационной части выполняются первыми, т.е. они выполняются перед операторами основного блока главной программы, в которую включен данный модуль.

Замечание. Чтобы сохранить объектный файл модуля на диске необходимо для опции Compile/Destination установить значение Disc и выполнить компиляцию [ctrl+F9].

После выполнения этих действий будет создан файл с расширением .TRU

Turbo Pascal распознает в начале текста модуль оператор UNIT и автоматически создает файл с расширением .TPU вместо .EXE

Выдаваемое при этом сообщение can not run a unit информирует вас о том, что модуль самостоятельно не выполняется.

Синтаксис объявления:

[<тип возвращаемого значения>]<имя функции>([<список параметров>]);

Если тип возвращаемого значения опущен - предполагается тип int. Если функция значений не возвращает, следует объявлять ее типом void. Функция может возвращать значения любых типов, кроме массивов и функций, но указатели на эти объекты она возвращать может.

char ' f (); // функция возвращает указатель на char.

Список параметров может отсутствовать, но круглые скобки обязательны. Если функция значений не принимает, в списке параметров следует указывать void.

<Список параметров> - это последовательность конструкций следующего вида: <тип><имя аргумента>, разделенных запятой.

Пример float function (float а, float b, int с)

Имена формальных параметров в определении функции не обязательно должны совпадать с именами параметров, указанных в ее объявлении. Основное назначение этих имен — это повышение наглядности программ..