Квадратное уравнение всегда выдает 0.0е+000. Почему?
program quadratic;
function quadratic(a, b, c: real; var x1, x2: real): Boolean;
var
d, s: real;
begin
begin
if a = 0 then
quadratic := false;
exit
end;
d := b*b - 4*a*c;
begin
if d < 0 then
quadratic := false;
exit
end;
s := sqrt(d);
x1 := (-b - s) / (2*a);
x2 := (-b + s) / (2*a);
quadratic := true
end;
var
g, h: real;
begin
writeln(quadratic(2, 3, -5, g, h));
writeln(g, h);
end.
Доброго времени суток. Вроде бы всё просто, я хочу вывести на экран результаты квадратного уравнения с заданными значениями, вывожу переменные с помощью writeln, но результат всегда один:
TRUE
0.0000000000000000E+000 0.0000000000000000E+000
Погуглил, ответа не нашел, может быть не понимаю как вопрос задать в поисковую строку.