Interface

Const n = 5; m = 5;

Type matr = array [1..n,1..m] of real;

mass1 = array [1..n] of real;

mass2 = array [1..m] of real;

var i1, j1, t, b : integer;

new : real;

Procedure wwod (var d : matr);

Procedure wuwod (var d : matr);

Procedure SortElem (i : integer; var d : matr);

Function Sum (i : integer; d:matr) : real;

Procedure SortRow (var d:matr; q : mass1);

Implementation

Procedure wwod;

begin

randomize;

for i1 := 1 to n do

for j1 := 1 to m do

d[i1,j1] := random;

end;

Procedure wuwod;

begin

for i1 := 1 to n do begin

for j1 := 1 to m do begin

write(d[i1,j1]:6:2); end;

writeln; end;

end;

procedure SortElem;

begin

b := m;

while b <> 0 do

begin

t := 0;

for j1 := 1 to B-1 do

begin

if d[i,j1] > d[i,j1+1] then

begin

new := d[i,j1];

d[i,j1] := d[i,j1+1];

d[i,j1+1] := new;

t := j1;

end;

end;

b := t;

end;

end;

Function Sum;

var s : real;

begin

s := 0;

for j1 := 1 to m do

if d[i,j1] > 0 then s := s + d[i,j1];

Sum := s;

end;

Procedure SortRow;

var new1 : mass2;

begin

b := n;

while b <> 0 do

begin

t := 0;

for i1 := 1 to b-1 do

begin

if q[i1] < q[i1+1] then

begin

for j1 := 1 to m do

begin

new1[j1] := d[i1,j1];

d[i1,j1] := d[i1+1,j1];

d[i1+1,j1] := new1[j1];

end;

new := q[i1];

q[i1] := q[i1+1];

q[i1+1] := new;

t := i1;

end;

end;

b := t;

end;

end;

end.

Листинг основной программы

Program First;

Uses crt, second2;

var i2, j : integer;

a : matr;

s1 : mass1;

begin

clrscr;

wwod(a);

writeln('***********');

for i2 := 1 to n do

begin

SortElem(i2,a);

s1[i2] := Sum(i2,a);

writeln('[',i2,']=',s1[i2]:6:2);

end;

wuwod(a);

writeln('***********');

SortRow(a,s1);

wuwod(a);

readln;

end.

Вопросы для самопроверки

1. Дайте определение модуля?

2. Какова структура модуля?

3. В чём заключается назначение заголовка модуля?

4. В чём заключается специфика интерфейсной части модуля?

5. В чём назначение реализационной части модуля?

6. Каково назначение инициализационной части модуля?

7. Как осуществляется компиляция, сохранение модуля на диске и подключение модуля во внешних программах?

Лабораторная работа №9

составление программ с использованием
модулей

Цель работы. Получение навыков в написании программ с использованием модулей.

Задание. Организация программ с использованием модулей.

Постановка задачи. По своему варианту написать программу, в которой подсоединяется модуль, содержащий подпрограммы - процедуры и - функции. Изучить структуру модуля, его разделы. Определиться с подпрограммами в модуле, которые могут использоваться внешними программами.

Варианты заданий

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