| 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.
 
 |