Quando tento algums calculos, como:
a = 1
b = 1
c = -1
Dá: 0.618034 -1.618034
Este resultado está certo, porém se eu fizer a: 2, b:3, c:-5, o resultado é: 4 e -10 que está errado
O código que fiz:
program bhaskara;
var a, b, c, delta, x, bn, xp, xn : real;
begin
write('Digite o valor de a: ');
readln(a);
if a = 0 then
begin
writeln('A não pode ser 0');
exit;
end
else
begin
writeln('Valor de a está ok');
end;
write('Digite o valor de b: ');
readln(b);
write('Digite o valor de c: ');
readln(c);
writeln('Indo calcular delta');
delta := (b*b)-(4*a*c);
writeln(delta:0:6);
writeln('Indo calcular b negativo');
bn := (-1)*b;
writeln('Indo calcular x negativo');
xn := (bn - sqrt(delta))/2*a;
writeln('Indo calcular x positivo');
xp := (bn + sqrt(delta))/2*a;
writeln('Duas raízes foram achadas: ', xp:0:6, ' ', xn:0:6);
end.