Pascal:if 后的句子

Pascal: sentence after an if

我刚开始使用 pascal,我正在使用以下代码做很好的旧 bhaskara 求解器:

    Program bhaskara;
var
    a,b,c: real;
begin
    writeln('Ingrese a, b y c');
    readln(a,b,c);
    if sqr(b) >= 4*a*c then
        begin
        writeln('tiene raices reales');
        end
    else
        begin
        writeln('no tiene raices reales');
        end
    readln(a);
end.

最后一行:readln(a),它只是为了暂停程序并查看输出使程序无法编译(没有它程序工作正常),它说:

bhaskara.pas(15,2) Fatal: Syntax error, ";" expected but "identifier READLN" found

我确定这很简单,但我找不到答案,请帮忙。

Pascal 需要分号作为语句分隔符 个语句之间。

你的 else 块是一个语句,因为它不是最后一行 程序的后面是你的 readln(a),它需要一个 ';' 之后。

事实上,因为您的 else 子句只包含一个语句, 它不需要 begin & end.

所以你可以简单地写

else
  writeln('no tiene raices reales');
readln(a);

在 readln 语句之前的 "end" 语句之后需要一个分号 (;)。