Ожидается "END", но "IF" найден. С некоторыми проблемами в коде Turbo Pascal
program calc;
var a,b,c,d:real;
Begin
write('a=');readln(a);
write('b=');readln(b);
write('c=');readln(c);
if a = 0 then
if b = 0 then
if c = 0 then
writeln('equation undetermined,S=R')
else
begin
d := b * b - 4 * a * c; <<<< missed ';'?
if (d >= 0) then
begin
writeln('x1=',(-b-sqrt(d))/(2* a):6:2 ); <<< missed ')' ?
writeln('x2=',(-b+sqrt(d))/(2* a):6:2 ); <<< missed ')' ?
end;
else
writeln ('Equation has no real solutions');
end;
readln;
End.
1 ответ
Я думаю, что вы хотите сделать это:
Program Calc;
var a,b,c,d: Real;
Begin
Write('a='); ReadLn(a);
Write('b='); ReadLn(b);
Write('c='); ReadLn(c);
if (a = 0) or (b = 0) or (c = 0) then
WriteLn('equation undetermined,S=R')
else
Begin
d := b * b - 4 * a * c;
if (d >= 0) then
Begin
WriteLn('x1=', (-b - sqrt(d)) / (2 * a):6:2 );
WriteLn('x2=', (-b + sqrt(d)) / (2 * a):6:2 );
end;
else
WriteLn('Equation has no real solutions');
end;
ReadLn;
End.
if ...
then if ...
then ...
else ...
может также скомпилировать как
if ...
then if ...
then ...
else ...
вместо этого используйте
if ...
then begin
if ...
then ...
end
else ...