Basic Arithmetic Verbs
Problem Description
Demonstrate ADD, SUBTRACT, MULTIPLY, DIVIDE with all variations.
Expected Output
Results of various arithmetic operations
Hints
Each verb has multiple formats: TO, FROM, BY, INTO, GIVING.
Solution
IDENTIFICATION DIVISION.
PROGRAM-ID. ARITHVERB.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-A PIC 9(3) VALUE 100.
01 WS-B PIC 9(3) VALUE 25.
01 WS-C PIC 9(3) VALUE 10.
01 WS-RES PIC 9(5).
01 WS-REM PIC 9(3).
PROCEDURE DIVISION.
* ADD variations
ADD WS-A TO WS-B.
DISPLAY "ADD TO: " WS-B.
MOVE 25 TO WS-B.
ADD WS-A WS-B GIVING WS-RES.
DISPLAY "ADD GIVING: " WS-RES.
* SUBTRACT variations
SUBTRACT WS-C FROM WS-A.
DISPLAY "SUBTRACT FROM:" WS-A.
MOVE 100 TO WS-A.
SUBTRACT WS-C FROM WS-A GIVING WS-RES.
DISPLAY "SUB GIVING: " WS-RES.
* MULTIPLY variations
MULTIPLY WS-A BY WS-C.
DISPLAY "MULTIPLY BY: " WS-C.
MOVE 10 TO WS-C.
MULTIPLY WS-A BY WS-C GIVING WS-RES.
DISPLAY "MUL GIVING: " WS-RES.
* DIVIDE variations
DIVIDE WS-A BY WS-B GIVING WS-RES.
DISPLAY "DIVIDE GIVING:" WS-RES.
DIVIDE WS-A BY WS-B GIVING WS-RES REMAINDER WS-REM.
DISPLAY "REMAINDER: " WS-REM.
STOP RUN.
Explanation:
ADD TO/GIVING, SUBTRACT FROM/GIVING, MULTIPLY BY/GIVING, DIVIDE BY/INTO/GIVING.