SimplePascal Demo

Lyt

1.         PI

function GetPI():real                          { 函数返回PI,返回值类型real }

var sum,n,sign:real;                                     { 声明变量 }

    pd:boolean;

begin                                                       { 以下为函数体 }

  sum:=1.0;                                          { sum赋值 }

  n:=1.0;

  sign:=1.0;

  while (n<=20000.0) do                   { 若满足条件则执行while循环 }

  begin

    sign:=-sign;

    n:=n+2.0;

    sum:=sum+sign*1.0/n;

  end;

  result:=4.0*sum;                                      { 返回结果 }

end;

 

function main():real

begin

  result:=GetPI();

end;

2.         求斐波那契数列

function fab(i:integer):integer                            { 不需要声明变量时var可省略 }

begin

  if (i=1) then result:=1;

  else if (i=2) then result:=1;

  else result:=fab(i-1)+fab(i-2);

end;

 

function main():integer

begin

  result:=fab(5);

end;

3.         自然数列求和

function sum(number:integer):integer

var i:integer;

begin

  i:=1;

  result:=0;

  while (i<=number) do

  begin

    result:=result+i;

    i:=i+1;

  end;

end;

 

function main():integer

begin

  result:=sum(4);

end;

4.         整数数组求和

function sum(count:integer; data:integer^):integer

var i:integer;

begin

         i:=0;

         result:=0;

         while (i<count) do

         begin

                   result:=result+data^;

                   { data偏移一个整数的距离,指针无法加减,只能强制转换成整数 }

                   data:=integer^(integer(data)+sizeof(integer));      { data偏移一个整数的距离 }

                   i:=i+1;

         end;

end;