Написать программу для решения квадратных уравнений.

 

var a,b,c,x1,x2:real;

p:byte;

procedure lin(b,c:real; var x1:real; var p:byte);

begin

if b=0 then

if c=0 then p:=4

else p:=0

else begin

p:=2;

x1:=-c/b;

end;

end;

procedure kvadr(a,b,c:real; var x1,x2:real; var p:byte);

var d:real;

begin

d:=sqr(b)-4*a*c;

if d=0 then begin

p:=2; x1:=-b/(2*a);

end

else

if d<0 then p:=1

else if d>0 then begin

p:=3;

x1:=(-b+sqrt(d))/(2*a);

x2:=(-b-sqrt(d))/(2*a);

end;

end;

procedure vyvod(x1,x2:real;p:byte);

begin

case p of

1:writeln('NET RESHENII');

2:begin

writeln('Odno reshenie');

writeln('X=',x1:0:3);

end;

3:begin

writeln('Dva reshenia');

writeln('X1=',x1:0:3,' X2=',x2:0:3);

end;

4:writeln(' Beschislennoe mnojestvo reshenii');

end;

end;

BEGIN

writeln;writeln;

write('Vvedite a,b,c: ');

readln(a,b,c);

if a=0 then lin(b,c,x1,p)

else kvadr(a,b,c,x1,x2,p);

writeln;

vyvod(x1,x2,p);

readln;

 

END.