Помогите, пожалуйста, найти, в чём моя ошибка при составлении программы (необходимо решить уравнение). Я уже тысячу раз всё переделывала, но в результате получается не то, что надо (должно быть 2 корня, а у меня получается только один).
Задание: уравнение имеет вид: а*х*х+в=0;
а=2;
в=-8.
Вот, что у меня получилось:
Код
program lab;
var a,b,d,x1,x2:real;
begin
writeln;
write('a:2');
readln(a);
if a=0 then
begin
write('false');
readln;
halt;
end;
write('b:-8');
readln(B);
writeln('a*',a:5:2,'x*x+','b=',b:5:2,'0');
writeln;
d:=b*b-(4*a);
if d<0 then
begin
write('false');
readln;
halt;
end;
if d=0 then
begin
x1:=-b/(2*a);
readln;
if d>0 then
begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
writeln('d:',d:5:2);
readln;
end;
write('x1:',x1:5:2,'x2:',x2:5:2);
readln(x1,x2);
end;
end.
var a,b,d,x1,x2:real;
begin
writeln;
write('a:2');
readln(a);
if a=0 then
begin
write('false');
readln;
halt;
end;
write('b:-8');
readln(B);
writeln('a*',a:5:2,'x*x+','b=',b:5:2,'0');
writeln;
d:=b*b-(4*a);
if d<0 then
begin
write('false');
readln;
halt;
end;
if d=0 then
begin
x1:=-b/(2*a);
readln;
if d>0 then
begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
writeln('d:',d:5:2);
readln;
end;
write('x1:',x1:5:2,'x2:',x2:5:2);
readln(x1,x2);
end;
end.
Все исходники должны помещаться в теги [ CODE] [ /CODE] Т.е. ваша программа, должна быть между [ CODE] и [ /CODE]. Пожалуйста, внимательнее...