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;