在一本书上照抄的一个求解方程的程序,代码如下,可是运行的时候一直报错,请大家帮忙看看哪里有问题,谢谢。
program Project2;{$APPTYPE CONSOLE}uses
  SysUtils;begin
  { TODO -oUser -cConsole Main : Insert code here }
  writeln('这是一个求解一元二次方程的程序');
  writeln('请输入a,b,c的值');
  read(a,b,c);
  theta:=b*b-4*a*c;
end.
if (theta>0) then
  begin
    theta:=sqrt(theta);
    x1=(-b+theta)/(2*a);
    x2=(-b-theta)/(2*a);
    writeln('方程有两个不同的实根');
    writeln('x1=',x1);
    writeln('x2=',x2);
    readln;
  end;
else if (theta=0) then
       begin
         x1:=-b/(2*a);
         writeln('方程有两个相等的实根');
         write('x1=x2=',x1);
         readln;
       end;
else begin
        writeln('方程没有实根');
        readln;
     end;
readln;

解决方案 »

  1.   


    program Project2; {$APPTYPE CONSOLE} uses 
      SysUtils; begin 
      { TODO -oUser -cConsole Main : Insert code here } 
      writeln('这是一个求解一元二次方程的程序'); 
      writeln('请输入a,b,c的值'); 
      read(a,b,c); 
      theta:=b*b-4*a*c; 
    if (theta>0) then 
      begin 
        theta:=sqrt(theta); 
        x1=(-b+theta)/(2*a); 
        x2=(-b-theta)/(2*a); 
        writeln('方程有两个不同的实根'); 
        writeln('x1=',x1); 
        writeln('x2=',x2); 
        readln; 
      end; 
    else if (theta=0) then 
          begin 
            x1:=-b/(2*a); 
            writeln('方程有两个相等的实根'); 
            write('x1=x2=',x1); 
            readln; 
          end; 
    else begin 
            writeln('方程没有实根'); 
            readln; 
        end; 
    readln;
    end. 
    先看下objpascal基础知识
      

  2.   

    符号错了,中文符号在Delphi里面不会被支持的,只能用英文的引号代替