Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Вспомогательный алгоритм к сигменту 1.4




.

 

Паскаль программа блочной структуры.

program tipovoy;

type matr=array[1..5,1..6] of real;

massiv=array[1..5] of real;

var a:matr;

b:massiv;

f1,f2:text;

i,j,k,l:integer;

v,x,y,g,h:real;

 

 

procedure nov(var a;n,m:integer;var b);

type ma=array[1..100,1..100] of real;

mas=array[1..10922] of real;

var i,j:integer;

v:real;

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;

 

 

function max(var b;n:integer):integer;

type mas=array[1..10922] of real;

var k,i:integer;

x:real;

Begin

k:=1;

for i:=2 to 5 do

if mas(b)[k]<mas(b)[i] then

begin

mas(b)[k]:=mas(b)[i];

k:=i;

end;

max:=k;

End;

 

function min(var b;n:integer):integer;

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;

 

 

procedure verhvniz(var a;n,k,l:integer);

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;

 

 

BEGIN

assign(f1,'vdoh.pas');

assign(f2,'vidoh.pas');

reset(f1);

rewrite(f2);

for i:=1 to 5 do

begin

for j:=1 to 6 do

read(f1,a[i,j]);

readln(f1);

end;

nov(a,i,j,b);

if (max(b,k)=1) and (min(b,l)=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.

 

Паскаль программа модульной структуры.

 

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.

 

Тестовые данные.

назначение контроль данных
Исходные данные выходные данные
  Тест на положительный результат (Нахождение строк с макс. и мин. Значение и перестановка их по правилу задачи) 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 4 4 4 4 4 2 2 2 2 2 1 1 1 1 1
  Тест на аномалию (аномалии если мин стоит на первом месте то он изменит свой номер при перемещении мах и доступ к ниму будет потерян.) 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 1 1 1 1 1
  Тест на отрицательный результат (Когда строка с макс.значением стоит на первом, а строка с мин.на последнем месте.) 5 5 5 5 5 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 1 1 1 1 1 Матрица не изменена

 

7. Отладка программ:





Поделиться с друзьями:


Дата добавления: 2016-10-07; Мы поможем в написании ваших работ!; просмотров: 268 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Вы никогда не пересечете океан, если не наберетесь мужества потерять берег из виду. © Христофор Колумб
==> читать все изречения...

2282 - | 2104 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.013 с.