Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Алгоритмы
Курсы ККДП
Дистрибутивы
Ссылки

HotLog


 
{ решение системы 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)                                          }
{ ------------------------------------------------------------------------ }
var a1,a2,b1,b2,c1,c2,x,y,d,dx,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 ( d<>0 ) and ( (dx=0) or (dy=0) ) then
      writeln('нет решений')
   else begin
      x:=dx/d; y:=dy/d;
      writeln('x = ', x);  writeln('y = ', y);
   end;
end.


Красноярский краевой Дворец пионеров, (c)2006 - 2017, ICQ: 151483