SaveText.Ru

Без имени
  1. program matrica;
  2.  
  3. uses
  4.   crt;  {модуль для работы с экраном}
  5. label
  6.   r,p; {Описание меток}
  7. var
  8. {заполнение матриц}
  9.   a,c:array[1..3,1..3] of integer;
  10.   b,d:array[1..3] of integer;
  11.   t,h:array[1..3,1..3]of real;
  12. {описание переменных}
  13.   i,j,s,k,y:integer;
  14.   l,x,d1,d2,d3,x1,x2,x3:real;
  15.    begin // тело программы
  16.     TextBackground(1);
  17.     clrscr; {очистка экрана}
  18.     textcolor(3); {устанавливаем новый цвет текста}
  19.     gotoxy(1,1); // устанавливаем курсор в точке 1,1
  20.      writeln('-----------');
  21.     gotoxy(1,2); // устанавливаем курсор в точке 1,2
  22.      writeln('  1 13 b=8');
  23.     gotoxy(1,3); // устанавливаем курсор в точке 1,3
  24.      writeln('A=-2 4 2, b=4');
  25.     gotoxy(1,4); // устанавливаем курсор в точке 1,4
  26.      writeln(' 3 7 1 b=24');
  27.     gotoxy(1,5); // устанавливаем курсор в точке 1,5
  28.      writeln('-----------');
  29.       // Требуется найти
  30.       writeln('1-Вычислить выражение (A*A)*B');
  31.       writeln('2-Транспортировать матрицу А');
  32.       writeln('3-Вычислить отпределитель матрицы А');
  33.       writeln('4-Найти матрицу, обратную к матрице А');
  34.       writeln('5-Решите системы методом Крамера');
  35.       writeln('6-Выберите нужную цифру');
  36.      readln(y);
  37.      //Пристаемаем значения элементам матрицы
  38.      a[1,1]:=1;
  39.      a[1,2]:=1;
  40.      a[1,3]:=3;
  41.      a[2,1]:=-2;
  42.      a[2,2]:=4;
  43.      a[2,3]:=2;
  44.      a[3,1]:=3;
  45.      a[3,2]:=7;
  46.      a[3,3]:=1;
  47.       if y=1 then //проверка условия
  48.        begin
  49.    {Условие 1}
  50.         for i:=1 to 3 do begin // Цикл(1) для строк в матрице
  51.          for j:=1 to 3 do begin // Цикл(2) для столбцов в матрице
  52.           s:=0; // начальное значение s
  53.           for k:=1 to 3 do begin // Цикл(3)
  54.            s:=s+a[i,k]*a[k,j];
  55.           end; // конец Цикл(3)
  56.          c[i,j]:=s;
  57.          end; // конец Цикл(2)
  58.         end; // конец Цикл(3)
  59.         for i:=1 to 3 do begin //Цикл(4)
  60.          //находим d[i]
  61.          d[1]:=(c[1,1]*b[1])+(c[1,2]*b[2])+(c[1,3]*b[3]);
  62.          d[2]:=(c[2,1]*b[1])+(c[2,2]*b[2])+(c[2,3]*b[3]);
  63.          d[3]:=(c[3,1]*b[1])+(c[3,2]*b[2])+(c[3,3]*b[3]);
  64.         end; //конец цикл(4)
  65.        TextColor(1);{устанавливем цвет текста}
  66.        Gotoxy(10,3); {Устанавливем курсор в точках х у}
  67.        write('3.A*A=');
  68.        for i:=1 to 3 do begin //Цикл 5
  69.         for j:=1 to 3 do begin //цикл 6
  70.           gotoxy(12+4*i,1+j);
  71.           writeln(a[i,j]);
  72.         end; // конец цикл 6
  73.        end; // конец цикл 5
  74.       Gotoxy (35,3);
  75.       write('2.B=');
  76.        for i:=1 to 3 do begin // цикл 7
  77.          gotoxy (38+3*i,j);
  78.          write(b[i]);
  79.        end; // конец цикл 7
  80.       Gotoxy (10,10);
  81.       write ('3.A*A=');
  82.       for i:=1 to 3 do begin // цикл 8
  83.         for j:=1 to 3 do begin //цикл 9
  84.           gotoxy(14+4*i,8+j);
  85.           writeln(c[i,j]);
  86.         end; //конец циккл 9
  87.       end; //конец цикла 8
  88.       Gotoxy(35,10);
  89.       write('4.(A*A)*B=');
  90.         for i:=1 to 3 do begin //цикл 10
  91.           gotoxy(43+5*i,7+j);
  92.           writeln(d[i]);
  93.         end; // конец цикл 10
  94.       readkey;// ожидание нажатия любой клавиши
  95.        end; {конец Условие 1}
  96.         end;
  97.       if y=2 then begin
  98.     clrscrl; //очистка экрана
  99. TextColor(7); //установка цвета текста
  100. Gotoxy(30,11); //устанавливаем курсор
  101. write('A=');
  102. for i:=1 to 3 do begin //цикл 11
  103. for j:=1 to 3 do begin //цикл 12
  104.  gotoxy(28+4*i,9+j);
  105.   writeln(a[i,]:2);
  106. end;//конец цикла 12
  107.  end;// конец цикла 11
  108. readkey;//ожидание нажатия любой клавиши
  109. end;
  110.  end;
  111. if y=3 then begin TExtBAckground(3);//проверка условия
  112.   clrscr;//очистка экрана
  113.     l:=(a[1,1]*((a[2,2]*a[3,3])-(a[2,3]*a[3,2])))-(a[1,2]*((a[2,1]*a[3,3])-(a[2,3]*a[3,1])))+(a[1,3]*((a[2,1])*(a[3,2]-(a[2,2]*a[3,1])));
  114.  TextColor(4);{устанавиваем новый цвет текста}
  115.   Gotoxy(33,12); // устанавливаем курсор в точке 33,12
  116.    writeln('Определитьель=',1:2:0);
  117. readkey; // ожидание нажатия любой клавиши
  118. end;
  119. if Y= 4 then begin //проверка условия
  120.  clrscr;// очистка экрана
  121.   l:=-124;
  122.    x:=-1;
  123. for i:=1 to 3 do begin // цикл 13
  124.  for j:=1 to 3 do begin // цикл 14
  125.    t[1,1]:=sqr(x)*a[2,2]*a[3,3])-a[2,3]*a[3,2])); t[2,1]:=(sqr(x)*(x))*((a[2,1]*a[3,3])-(a[3,1]*a[2,3]));
  126.    t[3,1]:=(sqr(x)*(x)*(x))*((a[2,1]*a[3,2])-(a[2,2]*a[3,1])); t[1,2]:=(sqr(x))*((a[1,2]*a[3,3])-(a[3,2]*a[1,3])));
  127.    t[2,2]:=(sqr(x)*(x)*(x))*((a[1,1]*a[3,3])-(a[3,1]*a[1,3]));
  128.    t[3,2]:=(sqr(x)*(x)*(x)*(x))*((a[1,1]*a[3,2])-a[3,1]*a[1,2]));
  129.    t[1,3]:=(sqr(x)*(x)*(x))*((a[1,2]*a[2,3])-(a[2,2]*a[1,3]));
  130.    t[2,3]:=(sqr(x)*(x)*(x)*(x))*((a[1,1]*a[2,3])-(a[2,1]*a[1,3]));
  131.    t[3,3]:=(sqr(x)*(x)*(x)*(x)*(x))*((a[1,1]*a[2,2])-(a[2,1]*a[1,2]));
  132. end;//конец цикла 14
  133.  end;// конец цикла 13
  134. for i:=1 to 3 do begin// цикл 15
  135.  for j:=1 to 3 do begin // цикл 16
  136.   h[i,j]:=(1/1)8(t[i,j]);
  137. end;//конец цикла 16
  138.  end;// конец цикла 15
  139. TextColor(4);  {устанавиваем новый цвет текста}
  140.  gotoxy(9,11); // устанавливаем курсор в точке 9,11
  141.   write('Обратная матрица=');
  142. for i:=1 to 3 do begin// цикл 17
  143.  for j:=1 to 3 do begin // цикл 18
  144.  gotoxy(23+10*i,9+j); // устанавливаем курсор в точке 23+10*i,9+j
  145.   writeln(h[j,i]:2:6);
  146. end;
  147.  end;
  148.   readkey; // ожидание нажатия любой клавиши
  149. end;
  150. if y=5 then begin TextBackGround(6);clrscr; l:=-124; //проверка условия
  151.  d1:=(b[1]*((a[2,2]*a[3,3])-(a[2,3]*a[3,2])))-(a[1,2]*((b[2]*a[3,3])-(a[2,3]*b[3])))+(a[1,3]*((b[2]*a[3,2])-(a[2,2]*b[3])));
  152.  d2:=(a[1,1]*((b[2]*a[3,3])-(a[2,3]*b[3])))-(b[1]*((a[2,1]*a[3,3])-(a[2,3]*a[3,1])))+(a[1,3]*((a[2,1]*b[3])-(b[2]*a[3,1])));
  153.  d3:=(a[1,1]*((a[2,2]*b[3])-(b[2]*a[3,2])))-(a[1,2]*((a[2,1]*b[3])-(b[2]*a[3,1])))+(b[1]*((a[2,1]*a[3,2])-(a[2,2]*a[3,1])));
  154.   x1:=d1/l; x2:=d2/l; x3:=d3/l; textcolor(7);
  155.    gotoxy(35,10);  // устанавливаем курсор в точке 35,12
  156.     write('x1=');
  157.      writeln(x1:2:0);  
  158.    gotoxy(35,12); // устанавливаем курсор в точке 35,12
  159.     write('x2=');
  160.      writeln(x2:2:0);
  161.    gotoxy(35,14); // устанавливаем курсор в точке 35,14
  162.     write('x3=');
  163.      writeln(x3:2:0);
  164. readkey; // ожидание нажатия любой клавиши
  165. end;
  166. if y=6 then goto r; //проверка условия
  167. goto p;
  168. readkey;  // ожидание нажатия любой клавиши
  169. r:
  170. end.

Share with your friends:

Распечатать