PERFORM THRU
Problem Description
Execute a range of paragraphs using PERFORM THRU.
Expected Output
Sequential paragraph execution
Hints
PERFORM para1 THRU para2 executes all paragraphs in range.
Solution
IDENTIFICATION DIVISION.
PROGRAM-ID. THRU.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-NUM PIC 9(5).
01 WS-VALID PIC 9 VALUE 0.
PROCEDURE DIVISION.
DISPLAY "ENTER A NUMBER: ".
ACCEPT WS-NUM.
* Execute all paragraphs from STEP1 through STEP3
PERFORM STEP1 THRU STEP3.
DISPLAY "ALL STEPS COMPLETED".
STOP RUN.
STEP1.
DISPLAY "STEP 1: VALIDATING INPUT".
IF WS-NUM > 0
MOVE 1 TO WS-VALID
DISPLAY " INPUT IS POSITIVE"
ELSE
DISPLAY " INPUT IS ZERO OR NEGATIVE"
END-IF.
STEP2.
DISPLAY "STEP 2: PROCESSING".
IF WS-VALID = 1
COMPUTE WS-NUM = WS-NUM * 2
DISPLAY " DOUBLED VALUE: " WS-NUM
ELSE
DISPLAY " SKIPPING - INVALID INPUT"
END-IF.
STEP3.
DISPLAY "STEP 3: FINALIZING".
DISPLAY " FINAL VALUE: " WS-NUM.
Explanation:
PERFORM THRU executes all paragraphs in sequence from first to last.