recursion example

This commit is contained in:
antranigv 2017-06-10 18:45:59 +04:00
parent d110fb0ac8
commit 9bcdd6db33
No known key found for this signature in database
GPG key ID: 60686B14DAB81456
2 changed files with 64 additions and 0 deletions

33
recursion/Fib.Mod Normal file
View file

@ -0,0 +1,33 @@
MODULE fibonacci;
IMPORT Out, Modules;
VAR
n : LONGINT;
Arg0 : LONGINT;
PROCEDURE getFib (n : LONGINT) : LONGINT;
VAR result : LONGINT;
BEGIN
IF n = 0 THEN
result := 0
ELSIF n = 1 THEN
result:= 1
ELSE
result := getFib(n-1) + getFib(n-2)
END;
RETURN result
END getFib;
BEGIN
IF Modules.ArgCount # 2 THEN
Out.String("one argument needed"); Out.Ln;
HALT(1);
END;
Modules.GetIntArg(1, Arg0);
Out.Int(getFib(Arg0), 0); Out.Ln;
END fibonacci.