我自己写了一个函数:
function calculateb(s:string):string;
var a,b,c,d:real;
    m:array[1..6] of real;
    i:integer;
    n:string;
begin
a:=1;
b:=1.5;
c:=(a+b)/5;
d:=strtofloat(s);
if d>=b then
  begin
    m[1]:=1;
    for i:=2 to 6 do
      begin
        m[i]:=0;
      end;
  end
else
  if d<a then
  begin
    m[6]:=1;
    for i:=1 to 5 do
      begin
        m[i]:=0;
      end;
  end
else
  for i:=1 to 6 do
    begin
      if (b-i*c)<=d<(b-(i-1)*c) then//这个地方出现了一个错误[Error] Unit4.pas(462): incompatible types        begin
          m[i]:=(d-(b-i*c))/c;
          m[i+1]:=((b-(i-1)*c)-d)/c;
        end
     else
       begin
         m[i]:=0;
       end;
  end;
for i:=1 to 6 do
  begin
    n:=n+floattostr(m[i])+',';
  end;
result:=n;
end;
请问应该怎么样解决啊?