{============================================================== recursiveMax.p Started by Jeff Ondich 5/15/96 Last modified 5/15/96 ==============================================================} program recmax(input,output); type intarray = array[1..100] of integer; var theNumbers : intarray; nNumbers : integer; {============================================================== ==============================================================} function Max( num : intarray; N : integer ) : integer; var tempMax : integer; begin if N <= 1 then Max := num[1] else begin tempMax := Max( num, N-1 ); if tempMax > num[N] then Max := tempMax else Max := num[N] end end; {============================================================== GetNumbers gets a sequence of integers from the user,. ==============================================================} procedure GetNumbers( var num : intarray; var length : integer ); begin length := 0; while not eoln do begin length := length + 1; read( num[length] ) end; readln end; {============================================================== The main program prompts the user, gets a list of integers, and prints the largest one. ==============================================================} begin write( 'Enter integers separated by spaces: ' ); GetNumbers( theNumbers, nNumbers ); writeln( 'Biggest = ', Max( theNumbers, nNumbers ) ) end.