-- 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;