sample031.PAS

{* Решение системы 2-х уравненй с двумя неизвестными *}

Unit SAMPLE031;
Interface
Implementation
Begin
 writeln('Решение системы 2-х уравненй с двумя неизвестными
{ решение системы 2-х уравнений с двумя неизвестными }
{ ------------------------------------------------------------------------ }
{ решение уравнений вида }
{ |a1*x + b1*y = c1 }
{ |a2*x + b2*y = c2 }
{ }
{ метод решения: }
{ |c1 b1| |a1 c1| }
{ |c2 b2| |a2 c2| }
{ x = --------- y = --------- }
{ |a1 b1| |a1 b1| }
{ |a2 b2| |a2 b2| }
{ }
{ выражаем определители второго порядка: }
{ x = (c1*b2-c2*b1)/(a1*b2-a2*b1) }
{ y = (a1*c2-a2*c1)/(a1*b2-a2*b1) }
{ ------------------------------------------------------------------------ }
'
);
End.

Program pas;

Uses sample031.pas; {* Эту строку можно удалить *}
Var {* Необходимые переменные *}
  a1 : real;
  a2 : real;
  b1 : real;
  b2 : real;
  c1 : real;
  c2 : real;
  x  : real;
  y  : real;
  d  : real;
  dx : real;
  dy : real;
Begin
  writeln('введите коэффициенты уравнения: a1, b1, c1, a2, b2, c2');
  readln(a1, b1, c1, a2, b2, c2);
  d := (a1 * b2 - a2 * b1);
  dx := (c1 * b2 - c2 * b1);
  dy := (a1 * c2 - a2 * c1);
  If ( d = 0 ) And ( (dx = 0) Or (dy = 0) ) Then
    writeln('бесконечное множество решений')
  Else If ( d0 ) And ( (dx = 0) Or (dy = 0) ) Then
    writeln('нет решений')
  Else Begin
    x := dx / d;
  y := dy / d;
  writeln('x = ', x);
  writeln('y = ', y);
End;

  End......