{ Розв'язання системи 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| } { } { виражаємо визначники 2-го порядку: } { 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.
{ Розв'язання системи 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| } { } { виражаємо визначники 3-го порядку: } { 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,b1,b2,b3,c1,c2,c3,d1,d2,d3,x,y,z,e,ex,ey,ez:real; begin writeln('введіть коефіцієнти рівнянь: a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3'); readln(a1,b1,c1,d1,a2,b2,c2,d2,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.
Немає коментарів:
Дописати коментар