PL/1中的冒泡排序(How to write Bubble Sort with PL/1)

Filed Under (PL/1) by Raymond on 04-12-2008

SHELL:   PROCEDURE OPTIONS (MAIN);
         DECLARE
           ARRAY(50) FIXED BIN(15),
           (K,N) FIXED BIN(15);

         GET LIST(N);
         GET EDIT((ARRAY(K) DO K = 1 TO N));
         PUT EDIT((ARRAY(K) DO K = 1 TO N));
         CALL BUBBLE(ARRAY,N);
END BUBBLE;

BUBBLE:   PROCEDURE(ARRAY,N); /* BUBBLE SORT*/
          DECLARE (I,J) FIXED BIN(15);
          DECLARE S BIT(1);        /* SWITCH */
          DECLARE Y FIXED BIN(15); /* TEMPO */
          DO I = N-1 BY -1 TO 1;
            S = ‘1′B;
            DO J = 1 TO I;
              IF X(J)>X(J+1) THEN DO;
                S = ‘0′B;
                Y = X(J);
                X(J) = X(J+1);
                X(J+1) = Y;
                END;
              END;
            IF S THEN RETURN;
            END;
          RETURN;
          END SRT;

PL/1中的Hello World(How to write Hello World with PL/1)

Filed Under (PL/1) by Raymond on 04-12-2008

HELLO:   PROCEDURE OPTIONS (MAIN);
             /* A PROGRAM TO OUTPUT HELLO WORLD */
             FLAG = 0;
LOOP:     DO WHILE (FLAG = 0);
             PUT SKIP DATA('HELLO WORLD!');
          END LOOP;
END HELLO;