SimplePascal Demo 〖全图灵编译器项目组〗 (Lyt更新)---摘录

²  求PI

 

 1function GetPI():real { 函数返回PI,返回值类型real }
 2
 3var sum,n,sign:real;            { 声明变量 }
 4
 5    pd:boolean;
 6
 7begin                           { 以下为函数体 }
 8
 9  sum:=1.0;                     { 对sum赋值 }
10
11  n:=1.0;
12
13  sign:=1.0;
14
15  while (n<=20000.0) do         { 若满足条件则执行while循环 }
16
17  begin
18
19    sign:=-sign;
20
21    n:=n+2.0;
22
23    sum:=sum+sign*1.0/n;
24
25  end;
26
27  return 4.0*sum;                              { 返回结果 }
28
29end
30
31 
32
33function main():real
34
35begin
36
37  return GetPI();
38
39end
40

 

 

²  求斐波那契数列

 

 1function fab(i:integer):integer { 不需要声明变量时var可省略 }
 2
 3begin
 4
 5  if (i=1) then return 1
 6
 7  else if (i=2) then return 1
 8
 9  else return fab(i-1)+fab(i-2);
10
11end
12
13 
14
15function main():integer
16
17begin
18
19  return fab(5);
20
21end
22

 

 

²  自然数列求和

 

 1function sum(number:integer):integer
 2
 3var i,sum:integer;
 4
 5begin
 6
 7  i:=1;
 8
 9  sum:=0;
10
11  while (i<=number) do
12
13  begin
14
15    sum:=sum+i;
16
17    i:=i+1;
18
19  end;
20
21  return sum;
22
23end
24
25 
26
27function main():integer
28
29begin
30
31  return sum(4);
32
33end
34

 

 

²  整数数组求和

 1function sum(count:integer; data:integer^):integer
 2
 3var i, result:integer;
 4
 5begin
 6
 7         i:=0;
 8
 9         result:=0;
10
11         while(i<count)
12
13         begin
14
15                   result:=result+data^;
16
17                   { data偏移一个整数的距离,指针无法加减,只能强制转换成整数 }
18
19                   data:=integer^(integer(data)+sizeof(integer));      { data偏移一个整数的距离 }
20
21                   i:=i+1;
22
23         end
24
25end
26

转载于:https://www.cnblogs.com/Cwdf/archive/2010/07/07/1772995.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值