Главная
Дисциплины (2009-2010)
Дисциплины (2010-2011)
Разное
Популярные

Решение системы линейных уравнений с тремя неизвестными:

{ решение системы 3-х уравнений с тремя неизвестными                       }
{ ------------------------------------------------------------------------ }
{ решение уравнений вида:                                                  }
{ |a1*x + b1*y + c1*z = d1|                                                }
{ |a2*x + b2*y + c2*z = d2|                                                }
{ |a3*x + b3*y + c3*z = d3|                                                }
{                                                                          }
{ метод решения:                                                           }
{     |d1 b1 c1|       |a1 d1 c1|       |a1 b1 d1|                         }
{     |d2 b2 c2|       |a2 d2 c2|       |a2 b2 d2|                         }
{     |d3 b3 c3|       |a3 d3 c3|       |a3 b3 d3|                         }
{ x = ----------   y = ----------   z = ----------                         }
{     |a1 b1 c1|       |a1 b1 c1|       |a1 b1 c1|                         }
{     |a2 b2 c2|       |a2 b2 c2|       |a2 b2 c2|                         }
{     |a3 b3 c3|       |a3 b3 c3|       |a3 b3 c3|                         }
{                                                                          }
{ выражаем определители третьего порядка:                                  }
{ e  := (a1*b2*c3+b1*c2*a3+c1*a2*b3-a3*b2*c1-b3*c2*a1-c3*a2*b1);           }
{ ex := (d1*b2*c3+b1*c2*d3+c1*d2*b3-d3*b2*c1-b3*c2*d1-c3*d2*b1);           }
{ ey := (a1*d2*c3+d1*c2*a3+c1*a2*d3-a3*d2*c1-d3*c2*a1-c3*a2*d1);           }
{ ez := (a1*b2*d3+b1*d2*a3+d1*a2*b3-a3*b2*d1-b3*d2*a1-d3*a2*b1);           }
{ x = ex/e                                                                 }
{ y = ey/e                                                                 }
{ z = ez/e                                                                 }
{ ------------------------------------------------------------------------ }

var a1, a2, a3: real;
    b1, b2, b3: real;
    c1, c2, c3: real;
    d1, d2, d3: real;
    x, y, z, e, ex, ey, ez: real;
begin
 writeln('Введите коэффициенты 1-го уравнения: a1, b1, c1, d1:');
 readln(a1, b1, c1, d1);
 writeln('Введите коэффициенты 2-го уравнения: a2, b2, c2, d2:');
 readln(a2, b2, c2, d2);
 writeln('Введите коэффициенты 3-го уравнения: a3, b3, c3, d3:');
 readln(a3, b3, c3, d3);
 e  := (a1*b2*c3+b1*c2*a3+c1*a2*b3-a3*b2*c1-b3*c2*a1-c3*a2*b1);
 ex := (d1*b2*c3+b1*c2*d3+c1*d2*b3-d3*b2*c1-b3*c2*d1-c3*d2*b1);
 ey := (a1*d2*c3+d1*c2*a3+c1*a2*d3-a3*d2*c1-d3*c2*a1-c3*a2*d1);
 ez := (a1*b2*d3+b1*d2*a3+d1*a2*b3-a3*b2*d1-b3*d2*a1-d3*a2*b1);
 if (e = 0) and ((ex = 0) or (ey = 0) or (ez = 0)) then
    writeln('Бесконечное множество решений')
 else if (e <> 0) and ((ex = 0) or (ey = 0) or (ez = 0)) then
    writeln('Нет решений')
 else begin
    x := ex / e;
    y := ey / e;
    z := ez / e;
    writeln('x = ', x);
    writeln('y = ', y);
    writeln('z = ', z);
 end;
end.


Последнее обновление:
Copyright (C) 2009-2010 by RA0LHS
Hosted by uCoz