IDENTIFICATION DIVISION. PROGRAM-ID. EXAMPLE1. AUTHOR. Ben. DATA DIVISION. WORKING-STORAGE SECTION. 01 Num1 PIC 9 VALUE ZEROS. 01 Num2 PIC 9 VALUE ZEROS. 01 Result PIC 99 VALUE ZEROS. PROCEDURE DIVISION. CalculateResult. ACCEPT Num1. ACCEPT Num2. MULTIPLY Num1 BY Num2 GIVING result. DISPLAY "result is = ", Result. DISPLAY "We did it". STOP RUN.
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. DISPLAY 'Hello, world. It is Liz.' STOP RUN.
IDENTIFICATION DIVISION. PROGRAM-ID. HW17RG. AUTHOR. RACHEL GRAHAM. DATE-WRITTEN. 03-10-2019. DATA DIVISION. WORKING-STORAGE SECTION. 01 EMP-REC-IN. 05 EMP-ID PIC X(04). 05 EMP-WEEK-DATE PIC X(06). 05 EMP-NAME PIC X(10). 05 EMP-HOURS PIC 9(02)V99. 01 EMP-TOTALS OCCURS 25 TIMES. 05 TBL-EMP-ID PIC X(04). 05 TBL-EMP-NAME PIC X(10). 05 TBL-EMP-HOURS PIC 9(03)V99. 01 WEEK-TOTALS OCCURS 5 TIMES. 05 TBL-WEEK-DATE PIC X(06). 05 TBL-WEEK-HOURS PIC 9(03)V99. 01 EMP-SUB PIC 9(02). 01 WEEK-SUB PIC 9(02). 01 TOTAL-HOURS PIC 9(04). 01 DATE-IN PIC 9(08). 01 EMP-COUNT PIC 999. 01 WEEK-COUNT PIC 999. PROCEDURE DIVISION. 0000-DRIVER. PERFORM 0010-INITIALIZE-PROGRAM. PERFORM 0100-INITIALIZE-TABLES. PERFORM 0200-PROCESS-RECORDS. PERFORM 0300-DISPLAY-TABLES. PERFORM 9999-CONCLUDE-PROGRAM. 0010-INITIALIZE-PROGRAM. ACCEPT DATE-IN FROM DATE YYYYMMDD. DISPLAY 'HW17RG BY RACHEL GRAHAM STARTED ON: ' DATE-IN (5:2) '/' DATE-IN (7:2) '/' DATE-IN (1:4). 0100-INITIALIZE-TABLES. PERFORM VARYING EMP-SUB FROM 1 BY 1 UNTIL EMP-SUB > 24 MOVE SPACES TO TBL-EMP-ID (EMP-SUB) MOVE SPACES TO TBL-EMP-NAME (EMP-SUB) MOVE ZEROES TO TBL-EMP-HOURS (EMP-SUB) END-PERFORM. PERFORM VARYING WEEK-SUB FROM 1 BY 1 UNTIL WEEK-SUB > 4 MOVE SPACES TO TBL-WEEK-DATE (WEEK-SUB) MOVE ZEROES TO TBL-WEEK-HOURS (WEEK-SUB) END-PERFORM. 0200-PROCESS-RECORDS. MOVE HIGH-VALUES TO EMP-REC-IN. ACCEPT EMP-REC-IN. PERFORM 0250-UPDATE-TABLES UNTIL EMP-REC-IN = SPACES. 0250-UPDATE-TABLES. DISPLAY '--'. DISPLAY '>' EMP-REC-IN '<'. DISPLAY '>' EMP-NAME '<'. DISPLAY '>' EMP-ID '<'. DISPLAY '>' EMP-WEEK-DATE '<'. DISPLAY '>' EMP-HOURS '<'. PERFORM VARYING EMP-SUB FROM 1 BY 1 UNTIL EMP-SUB > 24 OR TBL-EMP-ID (EMP-SUB) = SPACES OR TBL-EMP-ID (EMP-SUB) = EMP-ID IF TBL-EMP-ID(EMP-SUB) = EMP-ID MOVE EMP-NAME TO TBL-EMP-NAME (EMP-SUB) ADD EMP-HOURS TO TBL-EMP-HOURS (EMP-SUB) ADD 1 TO EMP-COUNT ELSE MOVE EMP-ID TO TBL-EMP-ID (EMP-SUB) MOVE EMP-NAME TO TBL-EMP-NAME (EMP-SUB) ADD EMP-HOURS TO TBL-EMP-HOURS (EMP-SUB) ADD 1 TO EMP-COUNT END-IF END-PERFORM. PERFORM VARYING WEEK-SUB FROM 1 BY 1 UNTIL WEEK-SUB > 4 OR TBL-WEEK-DATE (WEEK-SUB) = SPACES OR TBL-WEEK-DATE(WEEK-SUB) = EMP-WEEK-DATE IF TBL-WEEK-DATE(WEEK-SUB) = EMP-WEEK-DATE ADD EMP-HOURS TO TBL-WEEK-HOURS(WEEK-SUB) ADD EMP-HOURS TO TOTAL-HOURS ADD 1 TO WEEK-COUNT ELSE MOVE EMP-WEEK-DATE TO TBL-WEEK-DATE (WEEK-SUB) ADD EMP-HOURS TO TBL-WEEK-HOURS (WEEK-SUB) ADD EMP-HOURS TO TOTAL-HOURS ADD 1 TO WEEK-COUNT END-IF END-PERFORM. ACCEPT EMP-REC-IN. 0300-DISPLAY-TABLES. SET EMP-SUB TO 0. PERFORM VARYING EMP-SUB FROM 1 BY 1 UNTIL EMP-SUB > 25 DISPLAY TBL-EMP-ID (EMP-SUB) TBL-EMP-NAME (EMP-SUB) TBL-EMP-HOURS (EMP-SUB) END-PERFORM. DISPLAY 'EMPLOYEE COUNT: ' EMP-COUNT. SET WEEK-SUB TO 0. PERFORM VARYING WEEK-SUB FROM 1 BY 1 UNTIL WEEK-SUB > 5 DISPLAY TBL-WEEK-DATE (WEEK-SUB) TBL-WEEK-HOURS (WEEK-SUB) END-PERFORM DISPLAY 'WEEK COUNT: ' WEEK-COUNT. 9999-CONCLUDE-PROGRAM. DISPLAY 'TOTAL HOURS REPORTED: ' TOTAL-HOURS. DISPLAY 'HW17RG BY RACHEL GRAHAM ENDED ON: ' DATE-IN (5:2) '/' DATE-IN (7:2) '/' DATE-IN (1:4). STOP RUN. STOP RUN.
IDENTIFICATION DIVISION. PROGRAM-ID. HW16RG. AUTHOR. RACHEL GRAHAM. DATE-WRITTEN. 03-10-2019. DATA DIVISION. WORKING-STORAGE SECTION. 01 BUSINESS-TABLE-DATA. 05 JAN PIC X(31) VALUE '1111100011110011111001111100111'. 05 FEB PIC X(31) VALUE '1100111110001111001110000111110'. 05 MAR PIC X(31) VALUE '0011111001111100111110000111000'. 05 APR PIC X(31) VALUE '1111001111100111110001111001111'. 05 MAY PIC X(31) VALUE '1001111100111110001111001111000'. 05 JUN PIC X(31) VALUE '1001111100111110011111001111100'. 05 JUL PIC X(31) VALUE '1111100111110011111001111100110'. 05 AUG PIC X(31) VALUE '1110011111001111100111110001111'. 05 SEP PIC X(31) VALUE '0011111001111100111110011111000'. 05 OCT PIC X(31) VALUE '1110100111110011111001111100111'. 05 NOV PIC X(31) VALUE '1100111110011111001111100111110'. 05 DEC PIC X(31) VALUE '1011110011111001111100111110010'. 01 FILLER REDEFINES BUSINESS-TABLE-DATA. 05 BUSINESS-DAY-TABLE OCCURS 12 TIMES INDEXED BY B. 10 BUSINESS-DAY-NUM PIC X(31). 01 BUSINESS-DAYS PIC X(31). 01 FILLER REDEFINES BUSINESS-DAYS. 05 DAY-TABLE OCCURS 31 TIMES INDEXED BY D. 10 DAY-NUM PIC X. 01 CHECK-DAY PIC X. 01 WS-MONTH-TABLE-DATA. 05 FILLER PIC X(11) VALUE '01JANUARY '. 05 FILLER PIC X(11) VALUE '02FEBRUARY '. 05 FILLER PIC X(11) VALUE '03MARCH '. 05 FILLER PIC X(11) VALUE '04APRIL '. 05 FILLER PIC X(11) VALUE '05MAY '. 05 FILLER PIC X(11) VALUE '06JUNE '. 05 FILLER PIC X(11) VALUE '07JULY '. 05 FILLER PIC X(11) VALUE '08AUGUST '. 05 FILLER PIC X(11) VALUE '09SEPTEMBER'. 05 FILLER PIC X(11) VALUE '10OCTOBER '. 05 FILLER PIC X(11) VALUE '11NOVEMBER '. 05 FILLER PIC X(11) VALUE '12DECEMBER '. 01 FILLER REDEFINES WS-MONTH-TABLE-DATA. 05 MONTH-TABLE OCCURS 12 TIMES INDEXED BY M. 10 MONTH-NUM PIC X(02). 10 MONTH-NAME PIC X(09). 01 Y2KDATE. 05 Y2KYEAR PIC 9(04). 05 Y2KMONTH PIC 99. 05 Y2KDAY PIC 99. 01 FORMAT-Y2K. 05 FORMAT-MONTH PIC X(09). 05 FORMAT-DAY PIC X(02). 05 FILLER PIC X(03) VALUE ' , '. 05 FORMAT-YEAR PIC X(04). PROCEDURE DIVISION. ACCEPT Y2KDATE FROM DATE YYYYMMDD. SET B TO 1. SEARCH BUSINESS-DAY-TABLE WHEN B = Y2KMONTH MOVE BUSINESS-DAY-NUM(B) TO BUSINESS-DAYS END-SEARCH. SET D TO 1. SEARCH DAY-TABLE WHEN D = Y2KDAY MOVE DAY-NUM(D) TO CHECK-DAY END-SEARCH. SET M TO 1. SEARCH MONTH-TABLE WHEN MONTH-NUM(M) = Y2KMONTH MOVE MONTH-NAME(M) TO FORMAT-MONTH END-SEARCH. MOVE Y2KDAY TO FORMAT-DAY. MOVE Y2KYEAR TO FORMAT-YEAR. IF CHECK-DAY = 1 THEN DISPLAY FORMAT-Y2K ' IS A BUSINESS DAY.' END-IF. IF CHECK-DAY = 0 THEN DISPLAY FORMAT-Y2K ' IS NOT A BUSINESS DAY.' END-IF. STOP RUN. STOP RUN.
IDENTIFICATION DIVISION. PROGRAM-ID. HW15RG. AUTHOR. RACHEL GRAHAM. DATE-WRITTEN. 03-09-2019. DATA DIVISION. WORKING-STORAGE SECTION. 01 CURRENT-DATE. 05 CURRENT-YEAR PIC 99. 05 CURRENT-MONTH PIC 99. 05 CURRENT-DAY PIC 99. 01 WS-FORMATTED-DATE. 05 WS-FORMATTED-DATE-MM PIC X(02). 05 FILLER PIC X(01) VALUE '/'. 05 WS-FORMATTED-DATE-DD PIC X(02). 05 FILLER PIC X(01) VALUE '/'. 05 WS-FORMATTED-DATE-YY PIC X(02). 01 ALPHABET-TABLE-DATA. 05 FILLER PIC X(02) VALUE 'Aa'. 05 FILLER PIC X(02) VALUE 'Bb'. 05 FILLER PIC X(02) VALUE 'Cc'. 05 FILLER PIC X(02) VALUE 'Dd'. 05 FILLER PIC X(02) VALUE 'Ee'. 05 FILLER PIC X(02) VALUE 'Ff'. 05 FILLER PIC X(02) VALUE 'Gg'. 05 FILLER PIC X(02) VALUE 'Hh'. 05 FILLER PIC X(02) VALUE 'Ii'. 05 FILLER PIC X(02) VALUE 'Jj'. 05 FILLER PIC X(02) VALUE 'Kk'. 05 FILLER PIC X(02) VALUE 'Ll'. 05 FILLER PIC X(02) VALUE 'Mm'. 05 FILLER PIC X(02) VALUE 'Nn'. 05 FILLER PIC X(02) VALUE 'Oo'. 05 FILLER PIC X(02) VALUE 'Pp'. 05 FILLER PIC X(02) VALUE 'Qq'. 05 FILLER PIC X(02) VALUE 'Rr'. 05 FILLER PIC X(02) VALUE 'Ss'. 05 FILLER PIC X(02) VALUE 'Tt'. 05 FILLER PIC X(02) VALUE 'Uu'. 05 FILLER PIC X(02) VALUE 'Vv'. 05 FILLER PIC X(02) VALUE 'Ww'. 05 FILLER PIC X(02) VALUE 'Xx'. 05 FILLER PIC X(02) VALUE 'Yy'. 05 FILLER PIC X(02) VALUE 'Zz'. 01 FILLER REDEFINES ALPHABET-TABLE-DATA. 05 ALPHABET-TABLE OCCURS 26 TIMES INDEXED BY C. 10 UPPER-CHAR PIC X(01). 10 LOWER-CHAR PIC X(01). 01 ALPHABET-NUM PIC 99 VALUE ZEROS. 01 ALPHABET-CHAR PIC X. 01 WS-MONTH-TABLE-DATA. 05 FILLER PIC X(11) VALUE '01JANUARY '. 05 FILLER PIC X(11) VALUE '02FEBRUARY '. 05 FILLER PIC X(11) VALUE '03MARCH '. 05 FILLER PIC X(11) VALUE '04APRIL '. 05 FILLER PIC X(11) VALUE '05MAY '. 05 FILLER PIC X(11) VALUE '06JUNE '. 05 FILLER PIC X(11) VALUE '07JULY '. 05 FILLER PIC X(11) VALUE '08AUGUST '. 05 FILLER PIC X(11) VALUE '09SEPTEMBER'. 05 FILLER PIC X(11) VALUE '10OCTOBER '. 05 FILLER PIC X(11) VALUE '11NOVEMBER '. 05 FILLER PIC X(11) VALUE '12DECEMBER '. 01 FILLER REDEFINES WS-MONTH-TABLE-DATA. 05 MONTH-TABLE OCCURS 12 TIMES INDEXED BY M. 10 MONTH-NUM PIC X(02). 10 MONTH-NAME PIC X(09). 01 MONTH-SUB PIC 99. 01 CHAR PIC XX. 88 VALIDCHAR VALUE "A" THRU "Z", "a" THRU "z". 01 SWITCH PIC X(03). 01 Y2KDATE. 05 Y2KYEAR PIC 9(04). 05 Y2KMONTH PIC 99. 05 Y2KDAY PIC 99. 01 FORMAT-Y2K. 05 FORMAT-MONTH PIC X(09). 05 FORMAT-DAY PIC X(02). 05 FILLER PIC X(02) VALUE ' ,'. 05 FORMAT-YEAR PIC X(04). PROCEDURE DIVISION. 0000-DRIVER. PERFORM 0100-INITIALIZE. PERFORM 1000-CHAR-TEST. PERFORM 1600-MONTH-DATE. PERFORM 9000-CLOSE. GOBACK. 0100-INITIALIZE. ACCEPT CURRENT-DATE FROM DATE. MOVE CURRENT-YEAR TO WS-FORMATTED-DATE-YY. MOVE CURRENT-MONTH TO WS-FORMATTED-DATE-MM. MOVE CURRENT-DAY TO WS-FORMATTED-DATE-DD. DISPLAY 'HW15 RACHEL GRAHAM ' WS-FORMATTED-DATE. PERFORM VARYING C FROM 1 BY 1 UNTIL C > 26 DISPLAY UPPER-CHAR(C) LOWER-CHAR(C) END-PERFORM. DISPLAY "--". PERFORM 1500-ACCEPT. 1000-CHAR-TEST. IF CHAR = ' ' THEN PERFORM 1300-NO-CHAR ELSE IF VALIDCHAR PERFORM 1200-VALID-CHAR ELSE PERFORM 1100-INVALID-CHAR END-IF END-IF. 1100-INVALID-CHAR. DISPLAY 'CHARACTER IN: ' CHAR. DISPLAY 'NOT A LETTER IN THE ALPHABET'. DISPLAY "--". 1200-VALID-CHAR. SET C TO 1. SEARCH ALPHABET-TABLE WHEN UPPER-CHAR(C) = CHAR OR LOWER-CHAR(C) = CHAR SET ALPHABET-NUM TO C DISPLAY 'CHARACTER IN: ' CHAR DISPLAY 'LETTER ' CHAR 'IS LETTER NUMBER ' ALPHABET-NUM ' IN THE ALPHABET' DISPLAY '--' END-SEARCH. 1300-NO-CHAR. DISPLAY 'CHARACTER IN: " "' CHAR. DISPLAY 'NO CHARACTER ENTERED'. DISPLAY "--". 1500-ACCEPT. ACCEPT CHAR. 1600-MONTH-DATE. ACCEPT Y2KDATE FROM DATE YYYYMMDD. MOVE Y2KDAY TO FORMAT-DAY. MOVE Y2KYEAR TO FORMAT-YEAR. SET M TO 1. SEARCH MONTH-TABLE WHEN MONTH-NUM(M) = Y2KMONTH MOVE MONTH-NAME(M) TO FORMAT-MONTH END-SEARCH. DISPLAY 'RACHEL GRAHAM' DISPLAY 'TEST RUN ON: 'FORMAT-Y2K. 9000-CLOSE. GOBACK. STOP RUN.
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. DISPLAY 'Hello, world'. STOP RUN.
IDENTIFICATION DIVISION. PROGRAM-ID. SumOfInteger. DATA DIVISION. WORKING-STORAGE SECTION. 01 i BINARY-LONG. 01 n BINARY-LONG. 01 s BINARY-LONG VALUE 0. PROCEDURE DIVISION. DISPLAY "ENTER A NUMBER" ACCEPT n PERFORM VARYING i FROM 1 BY 1 UNTIL i < n ADD i TO s END-PERFORM DISPLAY "the sum is " s. STOP RUN.
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-A PIC X(15). 88 WS-B VALUE 'PIN CHANGED'. 88 WS-C VALUE 'PIN INVALID'. PROCEDURE DIVISION. SET WS-B TO TRUE IF WS-B DISPLAY 'DONE 1:' WS-A ELSE DISPLAY 'DONE 2'WS-A END-IF. STOP RUN.
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-DATA PIC X(16) VALUE 'PUNIKARUNADUHITA'. 77 WS-IND PIC 9(02) VALUE ZEROS. PROCEDURE DIVISION. INITIALIZE WS-IND. INSPECT WS-DATA TALLYING WS-IND FOR CHARACTERS. DISPLAY 'WS-IND ' WS-IND. MOVE ZEROES TO WS-IND. INSPECT WS-DATA TALLYING WS-IND FOR CHARACTERS AFTER INITIAL 'R'. DISPLAY 'WS-IND ' WS-IND. MOVE ZEROES TO WS-IND. INSPECT WS-DATA TALLYING WS-IND FOR ALL 'A' AFTER INITIAL 'P'. DISPLAY 'WS-IND ' WS-IND. MOVE ZEROES TO WS-IND. INSPECT WS-DATA TALLYING WS-IND FOR LEADING 'P' BEFORE INITIAL 'U'. DISPLAY 'WS-IND ' WS-IND. MOVE ZEROES TO WS-IND. INSPECT WS-DATA TALLYING WS-IND FOR TRAILING 'A' AFTER INITIAL 'T'. DISPLAY 'WS-IND ' WS-IND. MOVE ZEROES TO WS-IND. INSPECT WS-DATA REPLACING CHARACTERS BY SPACES BEFORE INITIAL 'A'. DISPLAY 'WS-DATA ' WS-DATA. MOVE 'PUNIKARUNADUHITA' TO WS-DATA. INSPECT WS-DATA REPLACING ALL 'A' BY 'K' BEFORE INITIAL 'H'. DISPLAY 'WS-DATA ' WS-DATA. MOVE 'PUNIKARUNADUHITA' TO WS-DATA. INSPECT WS-DATA REPLACING LEADING 'P' BY 'S' BEFORE INITIAL 'U'. DISPLAY 'WS-DATA ' WS-DATA. MOVE 'PUNIKARUNADUHITA' TO WS-DATA. INSPECT WS-DATA REPLACING FIRST 'U' BY 'R' BEFORE INITIAL 'D'. DISPLAY 'WS-DATA ' WS-DATA. MOVE 'PUNIKAPUNAPUHITA' TO WS-DATA. INSPECT WS-DATA REPLACING ALL 'PU' BY 'KU' BEFORE INITIAL 'TA'. DISPLAY 'WS-DATA ' WS-DATA. MOVE 'PUNIKAPUNAPUHITA' TO WS-DATA. INSPECT WS-DATA CONVERTING 'PKDA' TO 'SEMB'. DISPLAY 'WS-DATA ' WS-DATA. STOP RUN.
IDENTIFICATION DIVISION. ahutor.foro enviroment division. selet sort label record is standard record key "rut". file section. cd rut. 2 nombre pic$(45). 4 direccion pic$(45). 8 rut pic$(14). OCCURD RUT TIME 1 STEP 1 WORKING STORACH SECTION. SUM pic$(12). paso pic$(34). rut pic$(34). procedure. open sort. perforance ingreso. perforance validcion. perforance imprimir. close sort. ingreso. display "ingresese nombre":accept rut display "ingresese nombre":accept nombre display "ingresese direccion":accept direccion. validacion. if rut <rut then save nmbre:save calcula divide RUT /990 move to SUM INPRIMIR. FILLER"su nombre is",nombre. filler "su rut es",RUT. FILLER "SU DIRECCION ES ",DIRECCION. RUN PROCEDURE DIVISION. DISPLAY 'Hello, world'. STOP RUN.
We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy. Accept Learn more