- •3.2 Сигмент 1.2.
- •3.3.2 Вспомогательный алгоритм к сигменту 1.3.
- •3.4 Сигмент 1.4.
- •3.4.1Внутренняя спецификация к сигменту 1.4.
- •1. Подзадача.
- •2. Состав данных.
- •3.4.2 Вспомогательный алгоритм к сигменту 1.4.
- •4. Паскаль программа блочной структуры.
- •3.2.1Внутренняя спецификация к сигменту 1.2.
- •1. Подзадача.
- •2. Состав данных.
- •3.2.2 Вспомогательный алгоритм к сигменту 1.2.
- •3.3 Сигмент 1.3.
- •3.3.1Внутренняя спецификация к сигменту 1.3.
- •1. Подзадача.
- •2. Состав данных.
- •5. Паскаль программа модульной структуры.
- •6. Тестовые данные.
- •7. Отладка программ:
- •7.1 Отладка блочной структуры программы
- •7.2 Отладка модульной структуры программы:
- •8. Тестирование:
- •8.1 Драйвер для сегмента 1
- •8.2 Драйвер для сегмента 2
- •8.3 Драйвер для сегмента 3
- •8.4 Драйвер для сегмента 4
- •В процессе тестирования были найдены синтаксические ошибки, которые были тут же локализованы и исправлены.
- •9 Рекомендации по применению:
5. Паскаль программа модульной структуры.
Unit load ; interfase
type matr=array[1..5,1..10] of real;
massiv=array[1..5] of real;
var f1,f2:text;
Implemintation
BEGIN
assign(f1,'vdoh.pas');
assign(f2,'vidoh.pas');
reset(f1);
rewrite(f2);
end;
End.
Unit one;
interfase;
uses load;
procedure nov(var a;n,m:integer;var b);
implementation
procedure nov
type ma=array[1..100,1..100] of real;
mas=array[1..10922] of real;
var i,j:integer;
Begin
for i:=1 to 5 do
begin
mas(b)[i]:=0;
for j:=1 to 6 do
mas(b)[i]:=mas(b)[i]+ma(a)[i,j];
end;
End;
END.
Unit two;
interfase;
uses load;
function max(var b;n:integer):integer;
implementation
function max;
type mas=array[1..10922] of real;
var k,i:integer;
x:real;
Begin
x:=mas(b)[1];
k:=1;
for i:=2 to 5 do
if x<mas(b)[i] then
begin
x:=mas(b)[i];
k:=i;
end;
max:=k;
End;
end.
Unit three;
interfase;
uses load;
function min(var b;n:integer):integer;
implementation
function min;
type mas=array[1..10922] of real;
var l,i:integer;
y:real;
Begin
y:=mas(b)[1];
l:=1;
for i:=2 to 5 do
if y>mas(b)[i] then
begin
y:=mas(b)[i];
l:=i;
end;
min:=l;
End;
Unit four;
interfase;
uses load;
procedure vverh(var a;n,k:integer);
implementation
procedure vverh;
type ma=array[1..100,1..100] of real;
var j,h,z:integer;
g:real;
Begin
for j:=1 to 5 do
begin
g:=ma(a)[z,j];
ma(a)[z,j]:=ma(a)[h,j];
ma(a)[h,j]:=g;
end;
End;
END.
Uses load, one, two, three, four;
var i, j : integer;
begin
for i:=1 to 5 do
for j:=1 to 10 do
read(f1,a[i,j]);
readln(f1);
end;
nov(a,5,10,b);
if (max(b,5)=1) and (min(b,5)=5) then
write(f2,’матрица не изменена’)
else
begin
z:=1
h:=k
verhvniz(a,j,z,h,max(b,i));
z:=5;
h:=L
verhvniz(a,j,z,h,max(b,i));
end;
for i:=1 to 5 do
begin
for j:=1 to 6 do
write(f2,a[i,j],' ');
writeln(f2);
end;
close(f1);
close(f2);
END.
