Написать программу решения по методу Гаусса системы линейных уравнений 4х1+0,24х2-0,08х3=8 0,09х1+3х2-0,15х3=9 0,04х1-0,08х2+4х3=20- Pascal(Паскаль)

uses crt;
const n=3;
      a:array[1..n,1..n] of real=((4,0.24,-0.08),
                                  (0.09,3,-0.15),
                                  (0.04,-0.08,4));
      b:array[1..n] of real=(8,9,20);
var x:array[1..3] of real;
    i,j,k:integer;z,r,g:real;
begin
clrscr;
{приведение матрицы к треугольному виду}
for k:=1 to n do
 begin
  for j:=k+1 to n do
   begin
    r:=a[j,k]/a[k,k];
    for i:=k to n do
    a[j,i]:=a[j,i]-r*a[k,i];
    b[j]:=b[j]-r*b[k];
   end;
 end;
{вычисление корней}
for k:=n downto 1 do
 begin
  r:=0;
  for j:=k+1 to n do
   begin
    g:=a[k,j]*x[j];
    r:=r+g;
   end;
  x[k]:=(b[k]-r)/a[k,k];
 end;
writeln('Корни системы:');
for i:=1 to n do
write('x[',i,']=',x[i]:0:2,'   ');
readln;
end.
uses crt;
const n=3;
var a1,b1,c1,d1,
    a2,b2,c2,d2,
    a3,b3,c3,d3,
    x1,x2,x3:real;
begin
clrscr;
{приведение матрицы к треугольному виду - прямой ход Гаусса}
a1:=4;b1:=0.24;c1:=-0.08;d1:=8;
a2:=0.09;b2:=3;c2:=-0.15;d2:=9;
a3:=0.04;b3:=-0.08;c3:=4;d3:=20;
{обнуляем коэффициенты при х1 во 2 и 3 уравнениях}
b2:=b1+b2*(-a1/a2); c2:=c1+c2*(-a1/a2); d2:=d1+d2*(-a1/a2);
b3:=b1+b3*(-a1/a3); c3:=c1+c3*(-a1/a3); d3:=d1+d3*(-a1/a3);
{обнуляем коэффциет при х2 в третьем уравнении}
c3:=c3+c2*(-b3/b2); d3:=d3+d2*(-b3/b2);
{ищем корни, начиная с последнего - обратный ход Гаусса}
x3:=d3/c3;
x2:=(d2-c2*x3)/b2;
x1:=(d1-b1*x2-c1*x3)/a1;
writeln('Корни системы:');
write('x1=',x1:0:2,'  x2=',x2:0:2,'  x3=',x3:0:2);
readln;
end.

Leave a Comment

3 + 3 =