tinycobol/test.code/t01/test01a.cob

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