在Pascal中将real转换为Integer in循环

时间:2013-10-27 11:22:14

标签: for-loop pascal

我是Pascal的新手,我不知道如何修复此错误: 不兼容的类型:得到“S80REAL”预期“LONGINT”

我的代码是:

Var
number1:Integer;
a,b:Integer;
a,i:Integer;

procedure number(number1: Integer);
begin
a:=1;
b:=number1+(number1-1);
  for a:=1 to number1 do
  begin
    for i:=1 to ((b-a)/2) do
    begin
    write('#');
    end;
  end;
end;

错误在于:for i:=1 to ((b-a)/2) do

谢谢你的帮助。

1 个答案:

答案 0 :(得分:3)

用'div'替换'/'((b-a)/ 2)

'/'是Pascal中的真正除法,'div'是整数除法

procedure number(number1: Integer);
begin
 a:=1;
 b:=number1 + number1 - 1;
 for a:=1 to number1 do
  begin
   for i:=1 to ((b-a) div 2) do
    begin
     write('#');
    end;
  end;
end;