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.