begin dynamicroutinespec rstrg(stringname s) integer j,n ! constinteger stringlen=127 constinteger topn=100 ! integerarray x(0:topn) string (stringlen)array aa(0:topn) string (stringlen) s ! on event 9 start ; -> eof; finish ! routine sort files(string (stringlen)arrayname p, c integerarrayname x,integer num) ! DECLARE INTEGER ARRAY X, BOUNDS 0:NUM-1, IN CALLING ROUTINE integer i, j, hit, n for i=0, 1, num-1 cycle x(i)=i repeat for i=num-2, -1, 0 cycle hit=0 for n=0, 1, i cycle if p(x(n))>p(x(n+1)) start j=x(n) x(n)=x(n+1) x(n+1)=j hit=1 finish repeat if hit=0 thenexit repeat end ; ! SORT FILES ! select input(3) n=0 cycle rstrg(s) aa(n)=s; n=n+1 repeat eof: select input(0) sort files(aa,x,n) select output(4) j=0 while j<n cycle printstring(aa(x(j))) newline j=j+1 repeat endofprogram