tinycobol/test.code/t03/test03.cob

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".