unit debil;
interface
uses crt;
type
matr=array [1..6,1..6] of real;
vector=array[1..25] of real;
var i,j:byte;
a:matr;
x:vector;
Procedure q(var f:matr);
Procedure matrica;
Procedure vuvod;
Procedure perestanovka;
Procedure podschet;
implementation
Procedure q(var f:matr);
begin
clrscr;
for i:=1 to 6 do
for j:=1 to 6 do
f[i,j]:=2*(j/2-3.1)*exp(i*ln(2))*(i-3.9);
end;
Procedure matrica;
begin
for i:=1 to 6 do
for j:=1 to 6 do
q(a);
end;
Procedure vuvod;
begin
for i:=1 to 6 do
begin
writeln;
for j:=1 to 6 do
write ('':2, a[i,j]:6:2,'':2);
end;
end;
Procedure perestanovka;
var
c:byte;
w:matr;
procedure poisk(var z:byte);
var e:byte;
begin
z:=1;
for e:=1 to 6 do if x[e]<x[z] then z:=e;
x[z]:=100;
end;
begin
for i:=1 to 6 do for j:=1 to 6 do w[i,j]:=a[i,j];
for j:=1 to 6 do x[j]:=a[1,j];
for i:=1 to 6 do
begin
poisk(c);
for j:=1 to 6 do a[i,j]:=w[c,j];
end;
vuvod;
for i:=1 to 6 do for j:=1 to 6 do x[i]:=a[i,i];
writeln;
writeln('':14,'‚ҐЄв®а Ё¬ҐҐв в ЄЁҐ Є®®а¤Ё вл:');
for i:=1 to 6 do write('':2,x[i]:3:2,'':2);
end;
Procedure podschet;
var u:real;
a:vector;
function q(a,b:real):real;
begin
q:=a+b;
end;
Begin
u:=1;
for i:=1 to 6 do
begin
a[i]:=q(x[i],x[6-i+1]);
u:=u*a[i];
end;
write('u=',u:5:2);
readln;
end;
end.
program ddf;
uses crt,debil;
var ab,i:byte;
Procedure myvin(x1,y1,x2,y2:integer);
Begin
window(1,1,80,25);
textbackground(white);
clrscr;
window(x1-2,y1-1,x2+2,y2+1);
textbackground(green); clrscr;
window(x1,y1,x2,y2);
textbackground(4); clrscr;
textcolor(15);
end;
Procedure menu;
Begin
myvin(17,7,63,20);
gotoxy(7,2);write(' Выберите пункт меню');
gotoxy(7,4);write('1.Первоначальная матрица');
gotoxy(7,6);write('2.Преобразованная матрица');
gotoxy(7,8); write('3.Произведение элементов');
gotoxy(7,10); write('4.Справка');
gotoxy(7,12); write('5.Выход');
gotoxy(22,13);
end;
Procedure spravka;
begin
myvin(3,2,78,24);
writeln('':3,'Программа предназначена для расчета матрицы,');
writeln(' для ее дальнейшего преобразования, и');
writeln(' извлечения вектора из матрицы, а так же');
writeln(' подсчета произведения по формуле элементов полученного вектора.');
writeln; writeln;
writeln(' Модуль по роботе с матрицей');
writeln;
writeln(' был создан на основе знаний полученных на лекциях по программированию');
writeln;
writeln(' Работу выполнил студент группы ____________');
writeln;
writeln(' Лектор по основам программирования - ______________.');
writeln;
writeln(' Работа одобренна преподавателем по профессиональньной практики');
writeln;
writeln(' программной инженерии ________________');
writeln;
writeln;
writeln(' Криворожский технический университет ');
writeln;
writeln(' 2009 Год ');
end;
begin
randomize;
Clrscr;
q(a);matrica;
perestanovka;
repeat
menu;
readln(ab);
case ab of
1:begin myvin(10,8,70,16);q(a);matrica;gotoxy(20,1);writeln('Первоначальная матрица');vuvod;readkey;end;
2:begin myvin(10,7,70,17);gotoxy(20,1);writeln('Преобразованная матрица');perestanovka;readkey;end;
3:begin myvin(10,10,70,14);gotoxy(20,1);writeln('Произведение элементов');podschet;readkey;end;
4:begin spravka;readkey;end;
end;
until ab=5;
end.
|