A-M baby
This commit is contained in:
parent
764da6cbbb
commit
db842d013d
19005 changed files with 197040 additions and 7 deletions
33
Task/Ackermann-function/Modula-2/ackermann-function.mod2
Normal file
33
Task/Ackermann-function/Modula-2/ackermann-function.mod2
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
MODULE ackerman;
|
||||
|
||||
IMPORT ASCII, NumConv, InOut;
|
||||
|
||||
VAR m, n : LONGCARD;
|
||||
string : ARRAY [0..19] OF CHAR;
|
||||
OK : BOOLEAN;
|
||||
|
||||
PROCEDURE Ackerman (x, y : LONGCARD) : LONGCARD;
|
||||
|
||||
BEGIN
|
||||
IF x = 0 THEN RETURN y + 1
|
||||
ELSIF y = 0 THEN RETURN Ackerman (x - 1 , 1)
|
||||
ELSE
|
||||
RETURN Ackerman (x - 1 , Ackerman (x , y - 1))
|
||||
END
|
||||
END Ackerman;
|
||||
|
||||
BEGIN
|
||||
FOR m := 0 TO 3 DO
|
||||
FOR n := 0 TO 6 DO
|
||||
NumConv.Num2Str (Ackerman (m, n), 10, string, OK);
|
||||
IF OK THEN
|
||||
InOut.WriteString (string)
|
||||
ELSE
|
||||
InOut.WriteString ("* Error in number * ")
|
||||
END;
|
||||
InOut.Write (ASCII.HT)
|
||||
END;
|
||||
InOut.WriteLn
|
||||
END;
|
||||
InOut.WriteLn
|
||||
END ackerman.
|
||||
Loading…
Add table
Add a link
Reference in a new issue