0

首先,我是编程新手,刚开始学习帕斯卡。我遇到了错误 85:“;” 预期的。我多次搜索整个事情,但我一直无法找到问题所在。有什么建议么?

这是代码:

program test;
var
  a,b,c:real;
begin
  D:=sqr(b)-4*a*c;
  writeln('Enter a value for a');
  readln(a);
  writeln('Enter a value for b');
  readln(b);
  writeln('Enter a value for c');
  readln(c);
  if ( D<0 ) then
  begin
    writeln('There is no solution.');
  else
  if ( D>0 ) then
  begin
    x1:=(-b+sqrt(D))/2*a;
    x2:=(-b-sqrt(D))/2*a;
    writeln('x1 is:');
    writeln('x1:=',x1);
    writeln(x2 is:);
    writeln('x2:=',x2);
  end;
end.
4

2 回答 2

3

你有三个begin而且只有两个end陈述。缩进你的代码,你会注意到你的错误。变量 D、X1 和 X2 也未定义。您的输出中还有其他语法错误,即,'您的一个writeln语句接近结尾处缺少 tic 标记。

于 2014-03-05T19:43:07.080 回答
0

你需要一个end在 else 之前..

program test;
var
  a,b,c:real;
begin
  D:=sqr(b)-4*a*c;
  writeln('Enter a value for a');
  readln(a);
  writeln('Enter a value for b');
  readln(b);
  writeln('Enter a value for c');
  readln(c);
  if ( D<0 ) then
  begin
    writeln('There is no solution.');
  end 
  else
  if ( D>0 ) then
  begin
    x1:=(-b+sqrt(D))/2*a;
    x2:=(-b-sqrt(D))/2*a;
    writeln('x1 is:');
    writeln('x1:=',x1);
    writeln(x2 is:);
    writeln('x2:=',x2);
  end;
end.
于 2015-05-07T04:36:07.987 回答