PROGRAM SORTTEST(INPUT,OUTPUT); CONST N=16; VAR A:ARRAY[1..N]OF INTEGER; P:TEXT; PROCEDURE GEN; VAR I:INTEGER; D:TEXT; BEGIN OPEN(D,8,3,"D,S,R"); FOR I:=1 TO N DO READ(D,A[I]); CLOSE(D) END; PROCEDURE OUT; VAR I:INTEGER; BEGIN FOR I:=1 TO N DO WRITE(P,A[I]:3); WRITELN(P); END; PROCEDURE QUICK(L,R:INTEGER); VAR I,J,X,Y,Z:INTEGER; BEGIN X:=A[(L+R)DIV 2];Y:=A[L];Z:=A[R]; WRITE(P,X,Y,Z); IF XX DO J:=J-1; IF I<=J THEN BEGIN Y:=A[I];A[I]:=A[J];A[J]:=Y; I:=I+1;J:=J-1 END; UNTIL I>J; OUT; IF I