Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КУРСОВА РОБОТА (ВАРІАНТ-17).rtf
Скачиваний:
4
Добавлен:
21.08.2019
Размер:
795.32 Кб
Скачать

Модуль глобальних описів

Unit Global;

Interface

Const

len=10;

Type

Tmatr=array[1..len,1..len] of real;

Tvect=array[1..len] of real;

implementation

End.

Сервісний модуль обслуговування матриці

Unit MODUL17;

interface

uses global;

Procedure CreateMatrix(n:byte; var a:Tmatr;FLAZHOK:REAL);

Procedure OutputMatrix(n:byte; var a:Tmatr);

Procedure OutputVector(n:byte;a:mtr;Var x,m_max,m_min:mas;

Var t,dod:integer; Var min,max,maxmax,minmin,sum:real);

Function fanction(i,z:integer;mm,ymn,u:real; Var o:mas):real;

Implementation

Procedure CreateMatrix;

Var i,j:integer;

Begin

For i:= 1 to n do

begin

For j:= 1 to n do

begin

if flazhok<0

then

begin

a[i,j]:=(j-5.7)*sqrt(abs(sin((i*i+j*j)+(2-(j-5)*(j-5)))));

end

else begin

write('a[',i,',',j,']=');

read(a[i,j]);

end; end; end; end;

Procedure OutputMatrix;

Var i,j:integer;

begin

writeln('______________Matrica______________');

For i:= 1 to n do

begin

For j:= 1 to n do

write('a[',i,',',j,']=',a[i,j]:5:2,' ');

writeln;

writeln;

end;

writeln;

end;

Procedure OutputVector;

begin

writeln('Vector') ;

For i:=1 to n do

begin

min:=a[i,1]; max:=a[i,1];

for j:=1 to n do

begin

if min>a[i,j] then min:=a[i,j];

if max<a[i,j] then max:=a[i,j];

end;

m_max[i]:=max;

m_min[i]:=min;

end;

maxmax:=m_max[1];

minmin:=m_min[1];

For i:=1 to n do

begin

if maxmax<m_max[i] then maxmax:=m_max[i];

if minmin>m_min[i] then minmin:=m_min[i];

end;

if (minmin>0) and (maxmax>0) then

begin

for i:=1 to n do

begin

t:=i; x[t]:=m_max[i]+m_min[i];

write('x[',t,']=',x[t]:5:3,' ')

end;

end else

if (minmin<0) and (maxmax<0) then

begin

for i:=1 to n do

begin

t:=i; x[t]:=m_max[i]+m_min[i];

write('x[',t,']=',x[t]:5:3,' ')

end;

end else

Begin

t:=0;

For j:=1 to n do

begin

dod:=0;

for i:=1 to n do

begin

if a[i,j]>0 then dod:=dod+1;

end;

if dod=n/2

then

begin

t:=t+1; sum:=0;

for i:=1 to n do

begin

sum:=sum+a[i,j]

end;

x[t]:=sum;

write('x[',t,']=',x[t]:5:3,' ')

end;

end;

End;

writeln;

end;

function fanction;

begin

z:=0;

for i:=1 to (t-1) do

begin

z:=z+1;

o[z]:=x[i]+x[i+1];

end;

mm:=o[1];

ymn:=1;

for i:=1 to z do

begin

if mm<o[z] then mm:=o[i];

end;

if mm>maxmax then

u:=mm

else

begin

for i:=1 to t do

begin

if i mod 2=0 then

ymn:=ymn*x[i];

end;

u:=ymn;

end;

writeln('funksia U=',u:5:3);

end;

Головна програма

Program KURS_17;

Uses crt,global,MODUL17;

Var

I,j,n,t,dod,z:integer;

a:mtr;

x,m_max,m_min,o:mas;

u,flazhok,min,max,maxmax,minmin,sum,mm,ymn:real;

BEGIN

Clrscr;

writeln ('Vvedite razmernost matrix A: n');

write ('N='); read (n);

write('flazhok=');read(flazhok);

writeln;

write('N=',n:5);

writeln;

CreateMatrix(n,a,flazhok);

clrscr;

write('flazhok=',flazhok:5:0);

writeln;

write('N=',N:5);

writeln;

OutputMatrix(n,a);

OutputVector(n,a, x,m_max,m_min,t,dod,min,max,maxmax,minmin,sum);

fanction(i,z,mm,ymn,u,o);

repeat until keypressed;

END.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]