Skip to content

Commit f4a8314

Browse files
authored
PCL: fibonacci and factorial programs with input and output (#90)
1 parent 4942000 commit f4a8314

File tree

6 files changed

+46
-0
lines changed

6 files changed

+46
-0
lines changed

pcl/programs/factorial.input

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../alan/programs/factorial.input

pcl/programs/factorial.pcl

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
program factorial;
2+
3+
var n : integer;
4+
5+
function fact (x : integer) : integer;
6+
begin
7+
if x <= 1 then
8+
result := 1
9+
else
10+
result := x * fact(x - 1)
11+
end;
12+
13+
begin
14+
n := readInteger();
15+
writeString("The factorial of ");
16+
writeInteger(n);
17+
writeString(" is ");
18+
writeInteger(fact(n));
19+
writeString("\n")
20+
end.

pcl/programs/factorial.result

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../alan/programs/factorial.result

pcl/programs/fibonacci.input

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../alan/programs/fibonacci.input

pcl/programs/fibonacci.pcl

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
program fibonacci;
2+
3+
var n : integer;
4+
5+
function fib (x : integer) : integer;
6+
begin
7+
if x <= 0 then
8+
result := 0
9+
else if x = 1 then
10+
result := 1
11+
else
12+
result := fib(x - 1) + fib(x - 2)
13+
end;
14+
15+
begin
16+
n := readInteger();
17+
writeString("Fibonacci of ");
18+
writeInteger(n);
19+
writeString(" is ");
20+
writeInteger(fib(n));
21+
writeString("\n")
22+
end.

pcl/programs/fibonacci.result

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../alan/programs/fibonacci.result

0 commit comments

Comments
 (0)