64 lines
1.0 KiB
Plaintext
64 lines
1.0 KiB
Plaintext
#include "std.alpha"
|
|
|
|
function entry : string2integer
|
|
function fib : integer2integer
|
|
|
|
fib(i) := {
|
|
[ integer: a; integer: b; integer: count ]
|
|
|
|
a := 1;
|
|
b := 2;
|
|
|
|
if (i = 0) then {
|
|
return 0;
|
|
} else {
|
|
a := a;
|
|
}
|
|
|
|
if (i = 1) then {
|
|
return 1;
|
|
} else {
|
|
a := a;
|
|
}
|
|
|
|
if (i = 2) then {
|
|
return 2;
|
|
} else {
|
|
a := a;
|
|
}
|
|
|
|
count := 2;
|
|
while (count < i) {
|
|
|
|
count := count + 1;
|
|
}
|
|
|
|
return b;
|
|
}
|
|
|
|
entry (arg) := {
|
|
[ integer: result; integer: input; integer: fibValue]
|
|
|
|
result := printC('E');
|
|
result := printC('n');
|
|
result := printC('t');
|
|
result := printC('e');
|
|
result := printC('r');
|
|
result := printC(' ');
|
|
result := printC('N');
|
|
result := printC('u');
|
|
result := printC('m');
|
|
result := printC('b');
|
|
result := printC('e');
|
|
result := printC('r');
|
|
result := printC(':');
|
|
result := printC(' ');
|
|
|
|
input := inI(1);
|
|
fibValue := fib(input);
|
|
|
|
result := printI(fibValue);
|
|
|
|
return 0;
|
|
}
|