109 lines
2.7 KiB
COBOL
109 lines
2.7 KiB
COBOL
IDENTIFICATION DIVISION.
|
|
PROGRAM-ID. TEST03.
|
|
ENVIRONMENT DIVISION.
|
|
CONFIGURATION SECTION.
|
|
* INPUT-OUTPUT SECTION.
|
|
* FILE-CONTROL.
|
|
DATA DIVISION.
|
|
FILE SECTION.
|
|
|
|
WORKING-STORAGE SECTION.
|
|
|
|
01 W01-ADD PIC 9(8).
|
|
01 W01-SUB PIC 9(8).
|
|
01 W01-DIV PIC 9(8).
|
|
01 W01-MUL PIC 9(8).
|
|
01 W01-COMPUTE PIC 9(8).
|
|
01 W01-DATE PIC 9(6).
|
|
01 W01-TIME PIC 9(6).
|
|
01 W01-TIME-REDEF REDEFINES W01-TIME.
|
|
05 W05-HOUR PIC 9(2).
|
|
05 W05-MIN PIC 9(2).
|
|
05 W05-SEC PIC 9(2).
|
|
01 W01-INPUT PIC X(50).
|
|
01 W02-INPUT PIC 9(5)V99.
|
|
|
|
01 W01-COMPUTE-E0 PIC 9(8) VALUE 30000.
|
|
01 W01-COMPUTE-E1 PIC Z(5),Z(3).
|
|
01 W01-COMPUTE-E2 PIC ZZ,ZZZ,ZZZ.
|
|
01 W01-COMPUTE-E3 PIC Z(3)Z(5),99.
|
|
01 W01-COMPUTE-E4 PIC 9(5)V99.
|
|
|
|
01 W01-X4 PIC X(4) VALUE X'30313233'.
|
|
01 W01-X5 PIC X(5) VALUE X"3132333435".
|
|
|
|
|
|
PROCEDURE DIVISION.
|
|
|
|
* A-100.
|
|
|
|
PERFORM A-200 THRU A-300.
|
|
PERFORM A-400.
|
|
PERFORM A-500.
|
|
STOP RUN.
|
|
|
|
A-200.
|
|
|
|
DISPLAY "ENTER A-200" UPON CONSOLE.
|
|
|
|
ACCEPT W01-DATE FROM DATE.
|
|
ACCEPT W01-TIME FROM TIME.
|
|
DISPLAY "The system date is: " W01-DATE.
|
|
DISPLAY "The system time is: " W01-TIME.
|
|
DISPLAY "Redefined time: " W05-HOUR ":" W05-MIN
|
|
MOVE 100 TO W01-ADD W01-SUB W01-DIV W01-MUL.
|
|
ADD 10 TO W01-ADD.
|
|
DISPLAY "100 + 10 = " W01-ADD.
|
|
SUBTRACT 10 FROM W01-SUB.
|
|
DISPLAY "100 - 10 = " W01-SUB.
|
|
DIVIDE W01-DIV BY 10 GIVING W01-DIV.
|
|
DISPLAY "100 / 10 = " W01-DIV.
|
|
MULTIPLY W01-MUL BY 10 GIVING W01-MUL.
|
|
DISPLAY "100 * 10 = " W01-MUL.
|
|
COMPUTE W01-COMPUTE = (( 100 * 10 ) / ( 9 - 3 )).
|
|
DISPLAY "(( 100 * 10 ) / ( 9 - 3 )) = " W01-COMPUTE.
|
|
|
|
DISPLAY "EXIT A-200" UPON CONSOLE.
|
|
|
|
A-300.
|
|
|
|
DISPLAY "ENTER A-300" UPON STD-ERROR.
|
|
|
|
MOVE W01-COMPUTE-E0 TO W01-COMPUTE-E1 W01-COMPUTE-E2 W01-COMPUTE-E3 W01-COMPUTE-E4.
|
|
DISPLAY "W01-COMPUTE-E1 = " W01-COMPUTE-E1.
|
|
DISPLAY "W01-COMPUTE-E2 = " W01-COMPUTE-E2.
|
|
DISPLAY "W01-COMPUTE-E3 = " W01-COMPUTE-E3.
|
|
DISPLAY "W01-COMPUTE-E3 = " W01-COMPUTE-E4.
|
|
|
|
DISPLAY "EXIT A-300" UPON STD-ERROR.
|
|
|
|
A-400.
|
|
|
|
DISPLAY "ENTER A-400" UPON STD-OUTPUT.
|
|
|
|
MOVE '1234567890' TO W01-INPUT.
|
|
DISPLAY "W01-INPUT(before):" W01-INPUT ":".
|
|
DISPLAY "Enter alpha data :" NO ADVANCING.
|
|
* DISPLAY "Enter data :" .
|
|
ACCEPT W01-INPUT.
|
|
* Should be NO-ECHO not NO ECHO.
|
|
* ACCEPT W01-INPUT NO ECHO.
|
|
DISPLAY "W01-INPUT(after):" W01-INPUT ":".
|
|
|
|
MOVE 12356 TO W02-INPUT.
|
|
DISPLAY "W02-INPUT(before):" W02-INPUT ":".
|
|
DISPLAY "Enter numeric data :" NO ADVANCING.
|
|
ACCEPT W02-INPUT.
|
|
DISPLAY "W02-INPUT(after):" W02-INPUT ":".
|
|
|
|
DISPLAY "EXIT A-400" UPON STD-OUTPUT.
|
|
|
|
A-500.
|
|
|
|
DISPLAY "ENTER A-500".
|
|
|
|
DISPLAY "W01-X4=" W01-X4 ";".
|
|
DISPLAY "W01-X5=" W01-X5 ";".
|
|
|
|
DISPLAY "EXIT A-500".
|