DEFINE VARIABLE charArray AS CHARACTER EXTENT 3 INITIAL ["A","B","C"]. DEFINE VARIABLE sizeofArray AS INTEGER. sizeOfArray = EXTENT(charArray). RUN GetPermutations(1). PROCEDURE GetPermutations: DEFINE INPUT PARAMETER n AS INTEGER. DEFINE VARIABLE i AS INTEGER. DEFINE VARIABLE j AS INTEGER. DEFINE VARIABLE currentPermutation AS CHARACTER. REPEAT i = n TO sizeOfArray: RUN swapValues(i,n). RUN GetPermutations(n + 1). RUN swapValues(i,n). END. IF n = sizeOfArray THEN DO: DO j = 1 TO EXTENT(charArray): currentPermutation = currentPermutation + charArray[j]. END. DISPLAY currentPermutation WITH FRAME A DOWN. END. END PROCEDURE. PROCEDURE swapValues: DEFINE INPUT PARAMETER a AS INTEGER. DEFINE INPUT PARAMETER b AS INTEGER. DEFINE VARIABLE temp AS CHARACTER. temp = charArray[a]. charArray[a] = charArray[b]. charArray[b] = temp. END PROCEDURE.