Example of a SWAP Statement

This example program uses the SWAP statement to sort a real array.

BEGIN
 FILE REM(KIND=DISK,TITLE="SORT/OUT.",PROTECTION=SAVE);
 INTEGER I,J;
 DEFINE LASTONE = 5#;
 INTEGER ARRAY ARY[0:LASTONE];
 PROCEDURE SORTER;
 BEGIN
 BOOLEAN PROCEDURE NEED_TO_SWAP(A,B);
 VALUE A,B;
 INTEGER A,B;
 BEGIN
 IF (A > B) THEN
 NEED_TO_SWAP:= TRUE
 ELSE
 NEED_TO_SWAP:= FALSE;
 END NEED_TO_SWAP;

 FOR I := 0 STEP 1 WHILE (I < LASTONE) DO
 BEGIN
 FOR J := I+1 STEP 1 UNTIL LASTONE DO
 IF (NEED_TO_SWAP(ARY[I],ARY[J])) THEN
 ARY[I] :=: ARY[J];
 END FOR_I_LOOP;
 END SORTER;

 ARY[0] := 9432;
 ARY[1] := 17;
 ARY[2] := 542;
 ARY[3] := 359;
 ARY[4] := 15762;
 ARY[5] := 12003;
 SORTER;
 FOR I := 0 STEP 1 UNTIL LASTONE DO
 WRITE(REM,//,ARY[I]);
END.