USERID DOSVS * $$ JOB JNM=FIZBUZ,CLASS=0,DISP=D * $$ LST CLASS=A,DISP=D,JSEP=0 // JOB FIXBUZ - FIZZBUZZ COBOL PROGRAM // OPTION LINK,NOLISTX,NOSYM,NOXREF ACTION MAP,CANCEL * COMPILING, // EXEC FCOBOL IDENTIFICATION DIVISION. PROGRAM-ID. FIZBUZ. AUTHOR. KEVIN DURANT. **** ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. IBM-370. OBJECT-COMPUTER. IBM-370. SPECIAL-NAMES. C01 IS TOP-OF-PAGE. **** DATA DIVISION. WORKING-STORAGE SECTION. 77 WS-FIZZ PIC X(4) VALUE 'FIZZ'. 77 WS-BUZZ PIC X(4) VALUE 'BUZZ'. 77 WS-FIZZBUZZ PIC X(8) VALUE 'FIZZBUZZ'. 77 WS-I PIC 9(3) VALUE 1. 77 WS-R PIC 9(3) VALUE 0. 77 WS-Q PIC 9(3) VALUE 0. **** PROCEDURE DIVISION. FIZZ-BUZZ. PERFORM CALCUL UNTIL WS-I > 54. STOP RUN. CALCUL. DIVIDE 15 INTO WS-I GIVING WS-Q REMAINDER WS-R. IF WS-R = 0 THEN DISPLAY WS-FIZZBUZZ. IF WS-R > 0 THEN PERFORM FIZZCALC THRU E-FIZZCALC. ADD 1 TO WS-I. FIZZCALC. DIVIDE 3 INTO WS-I GIVING WS-Q REMAINDER WS-R. IF WS-R = 0 THEN DISPLAY WS-FIZZ. IF WS-R > 0 THEN PERFORM BUZZCALC THRU E-BUZZCALC. E-FIZZCALC. EXIT. BUZZCALC. DIVIDE 5 INTO WS-I GIVING WS-Q REMAINDER WS-R. IF WS-R = 0 THEN DISPLAY WS-BUZZ. IF WS-R > 0 THEN DISPLAY WS-I. E-BUZZCALC. EXIT. /* * LINK EDIT, // EXEC LNKEDT * AND GO EXECUTE. // EXEC /& * $$ EOJ