101 lines
3.0 KiB
COBOL
101 lines
3.0 KiB
COBOL
IDENTIFICATION DIVISION.
|
|
PROGRAM-ID. TEST01a.
|
|
ENVIRONMENT DIVISION.
|
|
CONFIGURATION SECTION.
|
|
* INPUT-OUTPUT SECTION.
|
|
DATA DIVISION.
|
|
FILE SECTION.
|
|
|
|
WORKING-STORAGE SECTION.
|
|
|
|
01 W01-ADDITION.
|
|
05 W01-ADD PIC 9(6).
|
|
05 W01-ADD1 PIC 9(6).
|
|
05 W01-ADD2 PIC 9(2).
|
|
05 W01-ADD3 PIC 9(6).
|
|
05 W01-ADDT OCCURS 2 TIMES PIC 9(8).
|
|
05 W01-ADD4 PIC S9(4)V9.
|
|
05 W01-ADD5 PIC S9(4)V9(2).
|
|
05 W01-ADD6 PIC S9(4)V9(3).
|
|
05 W01-ADD7 PIC S9(4)V9(4).
|
|
|
|
PROCEDURE DIVISION.
|
|
|
|
A-000.
|
|
PERFORM A-100.
|
|
STOP RUN.
|
|
|
|
A-100.
|
|
|
|
DISPLAY "* ------ add statements tests begin ------ *".
|
|
|
|
MOVE 10 TO W01-ADD.
|
|
MOVE 11 TO W01-ADD1.
|
|
MOVE 98 TO W01-ADD2.
|
|
DISPLAY "W01-ADD=" W01-ADD " W01-ADD1=" W01-ADD1 " W01-ADD2=" W01-ADD2.
|
|
|
|
ADD 1 2 3.5 TO W01-ADD ROUNDED W01-ADD1 W01-ADD2
|
|
ON SIZE ERROR PERFORM E-100
|
|
NOT ON SIZE ERROR PERFORM D-100
|
|
END-ADD.
|
|
|
|
DISPLAY "add 1 2 3.5 (6.5) TO W01-ADD = " W01-ADD
|
|
" rounded W01-ADD1 =" W01-ADD1 " W01-ADD2 =" W01-ADD2 " rounded".
|
|
|
|
MOVE 98 TO W01-ADD.
|
|
MOVE 0 TO W01-ADD1 W01-ADD2 W01-ADD3.
|
|
|
|
DISPLAY "W01-ADD=" W01-ADD " W01-ADD1=" W01-ADD1 " W01-ADD2=" W01-ADD2 " W01-ADD3=" W01-ADD3.
|
|
ADD 11 22 33.5 TO W01-ADD GIVING W01-ADD1 W01-ADD2 W01-ADD3 ROUNDED
|
|
NOT ON SIZE ERROR PERFORM D-100
|
|
END-ADD.
|
|
|
|
DISPLAY "add 11 22 33.5 (66.5) TO W01-ADD = " W01-ADD
|
|
" giving W01-ADD1 =" W01-ADD1 " W01-ADD2 =" W01-ADD2 " W01-ADD3 =" W01-ADD3 " rounded".
|
|
|
|
MOVE 1 TO W01-ADD4 W01-ADD5 W01-ADD6 W01-ADD7.
|
|
DISPLAY "W01-ADD4=" W01-ADD4 " W01-ADD5=" W01-ADD5
|
|
" W01-ADD6=" W01-ADD6 " W01-ADD7=" W01-ADD7.
|
|
|
|
ADD -28.36 TO -11.69 GIVING W01-ADD4 ROUNDED W01-ADD5 ROUNDED
|
|
W01-ADD6 ROUNDED W01-ADD7 ROUNDED
|
|
END-ADD.
|
|
DISPLAY "add -28.36 to -11.69 giving W01-ADD4 = " W01-ADD4 " rounded"
|
|
" W01-ADD5 =" W01-ADD5 " rounded"
|
|
" W01-ADD6 =" W01-ADD6 " rounded"
|
|
" W01-ADD7 =" W01-ADD7 " rounded".
|
|
|
|
MOVE 1 TO W01-ADD4 W01-ADD5 W01-ADD6 W01-ADD7.
|
|
DISPLAY "W01-ADD4=" W01-ADD4 " W01-ADD5=" W01-ADD5
|
|
" W01-ADD6=" W01-ADD6 " W01-ADD7=" W01-ADD7.
|
|
|
|
ADD 28.36 2 TO 11.69 GIVING W01-ADD4 ROUNDED W01-ADD5 W01-ADD6 W01-ADD7
|
|
END-ADD.
|
|
DISPLAY "add 28.36 2 to 11.69 giving W01-ADD4 = " W01-ADD4
|
|
" rounded W01-ADD5 =" W01-ADD5
|
|
" W01-ADD6 =" W01-ADD6
|
|
" W01-ADD7 =" W01-ADD7.
|
|
|
|
MOVE 11.69 TO W01-ADD5.
|
|
MOVE 2 TO W01-ADD4 W01-ADD6 W01-ADD7.
|
|
DISPLAY "W01-ADD4=" W01-ADD4 " W01-ADD5=" W01-ADD5
|
|
" W01-ADD6=" W01-ADD6 " W01-ADD7=" W01-ADD7.
|
|
|
|
* ADD 28.36 GIVING W01-ADD4 W01-ADD5 W01-ADD6 W01-ADD7
|
|
ADD 28.36 W01-ADD5 GIVING W01-ADD4 ROUNDED W01-ADD6 W01-ADD7
|
|
ON SIZE ERROR PERFORM E-100
|
|
NOT ON SIZE ERROR PERFORM D-100
|
|
END-ADD.
|
|
DISPLAY "add 28.36 W01-ADD5 = " W01-ADD5 " giving W01-ADD4 = " W01-ADD4
|
|
" rounded W01-ADD6 =" W01-ADD6
|
|
" W01-ADD7 =" W01-ADD7.
|
|
|
|
DISPLAY "* ------ add statements tests end ------ *".
|
|
|
|
|
|
D-100.
|
|
DISPLAY "D-100: An add exception erorr has _NOT_ occured" .
|
|
|
|
E-100.
|
|
DISPLAY "E-100: An add exception erorr has occured" .
|