-- adatest05.ada rob 84-01-10 -- -- comment out get -- (adaf "ostrich:[truman.ada]adatest05.ada") -- FROM: jmc -- Delivered: Fri Mar 18 0:55:05 1983 -- To: colbert -- -- show non-primitive recursion using Ackermann's function -- ref: Knuth Vol 1 -- with TEXT_IO; use TEXT_IO; procedure MAIN is I,J,RETVAL:INTEGER; package INT_IO is new INTEGER_IO (INTEGER); use INT_IO; function ACKERMAN (I,J:in INTEGER) return INTEGER is begin if (I=0) then return J+1; elsif (J=0) then return ACKERMAN (I-1,1); else return ACKERMAN (I-1,ACKERMAN (I,J-1)); end if; end ACKERMAN; begin NEW_LINE (2); PUT ("**** Ackerman Function ***"); NEW_LINE; PUT ("Enter First Parameter: "); -- GET (I); I := 1; PUT ("Enter Second Parameter: "); -- GET (J); J := 0; RETVAL := ACKERMAN (I,J); PUT (">>>Answer is :"); PUT (RETVAL); NEW_LINE; end MAIN;