1: func operators()
2: print 3 = 3;
3: print (3+5) = 8;
4: print (5-3) = 2;
5: print (3*5) = 15;
6: print (3&5) = 1;
7: print (3|5) = 7;
8: print (3<5) = 1;
9: print (5<3) = 0;
10: print (3=5) = 0;
11: print (5=5) = 1;
12: print (!3) = 0;
13: print (!0) = 1;
14: print (-3) = (0-3);
15: return 0;
16: end func;
17:
18: func params(a, b, c)
19: print a = 3;
20: print b = 5;
21: print c = 7;
22: return 9;
23: end func;
24:
25: func locals(a)
26: var b;
27: var c;
28: b:=a+1;
29: c:=b+1;
30: a:=c+1;
31: return a;
32: end func;
33:
34: func inc(x)
35: return x+1;
36: end func;
37:
38: func sign(n)
39: var r;
40: if (n<0) then
41: r:=-1;
42: else
43: if (0<n) then
44: r:=1;
45: else
46: r:=0;
47: end if;
48: end if;
49: return r;
50: end func;
51:
52: func recfac(n)
53: var r;
54: if (n<1) then
55: r:=1;
56: else
57: r:=recfac(n-1)*n;
58: end if;
59: return r;
60: end func;
61:
62: func itfac(n)
63: var r;
64: r:=1;
65: while (0<n) do
66: r:=r*n;
67: n:=n-1;
68: end while;
69: return r;
70: end func;
71:
72: func testfac()
73: var i;
74: i:=0;
75: while (i<10) do
76: print itfac(i) = recfac(i);
77: i:=i+1;
78: end while;
79: return 0;
80: end func;
81:
82: func main()
83: operators();
84: print params(3,5,7) = 9;
85: print locals(3) = 6;
86: print (inc(1)+inc(inc(inc(3))))=8;
87: print sign(5) = 1;
88: print sign(0) = 0;
89: print sign(-5) = (-1);
90: print itfac(5) = 120;
91: testfac();
92: return 0;
93: end func;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>