Пример теста:
a | b | c | x |
0 | 0 | 0 | любое |
0 | 0 | 5 | нет решений |
0 | 2 | 5 | -2,5 |
1 | 1 | -6 | x1=2; x2=-3 |
16 | -24 | 9 | 0.75 |
2 | 1 | 3 | нет решений |
var a,b,c,D,x1,x2:real;
begin
writeln('введите a,b,c');
readln(a,b,c);
if a=0 then if b=0 then if c=0 then writeln('x любое')
else writeln('нет решений')
else begin
x1:=c/b;
writeln('x=',x1:12:6);
end
else begin
D:=b*b-4*a*c;
if D>0 then begin
x1:=(-b-sqrt(D))/(2*a);
x2:=(-b+sqrt(D))/(2*a);
writeln('x1=',x1:12:6);
writeln('x2=',x2:12:6);
end
else if D=0 then begin
x1:=-b/(2*a);
writeln('x=',x1:12:6);
end
else writeln('нет решений');
end;
readln;
end.
Free Pascal
Free Pascal Compiler version 2.6.2-8 [2014/01/22] for x86_64
Copyright (c) 1993-2012 by Florian Klaempfl and others
Target OS: Linux for x86-64
Compiling main.pas
Linking a.out
25 lines compiled, 0.2 sec
/usr/bin/ld.bfd: warning: link.res contains output sections; did you forget -T?
введите a,b,c
16 -24 9
x= 0.750000