For in COBOL
COBOL provides several ways to implement loops. Here are some basic types of loops in COBOL.
IDENTIFICATION DIVISION.
PROGRAM-ID. FOR-LOOPS.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 I PIC 9(2) VALUE 1.
01 J PIC 9(2) VALUE 0.
01 N PIC 9(2) VALUE 0.
PROCEDURE DIVISION.
MAIN-PROCEDURE.
*> The most basic type, with a single condition.
PERFORM UNTIL I > 3
DISPLAY I
ADD 1 TO I
END-PERFORM
*> A classic initial/condition/after loop.
PERFORM VARYING J FROM 0 BY 1 UNTIL J >= 3
DISPLAY J
END-PERFORM
*> Another way of accomplishing the basic "do this N times" iteration.
PERFORM 3 TIMES
DISPLAY "range" FUNCTION WHEN-COMPILED(7:2)
END-PERFORM
*> PERFORM without a condition will loop indefinitely until EXIT PERFORM.
PERFORM FOREVER
DISPLAY "loop"
EXIT PERFORM
END-PERFORM
*> You can also use CONTINUE to skip to the next iteration of the loop.
PERFORM VARYING N FROM 0 BY 1 UNTIL N >= 6
IF FUNCTION MOD(N, 2) = 0
CONTINUE
ELSE
DISPLAY N
END-IF
END-PERFORM
STOP RUN.When you run this COBOL program, it will produce the following output:
1
2
3
0
1
2
range 01
range 01
range 01
loop
1
3
5In COBOL, we use different constructs to achieve looping:
PERFORM UNTILis used for condition-based loops.PERFORM VARYINGis used for counter-based loops, similar to the classic for loop in other languages.PERFORM n TIMESis used to execute a block of code a specific number of times.PERFORM FOREVERcreates an infinite loop that can be exited usingEXIT PERFORM.CONTINUEcan be used to skip to the next iteration of a loop.
COBOL doesn’t have a direct equivalent to Go’s range keyword for iterating over sequences, so we’ve simulated it using PERFORM n TIMES. The FUNCTION WHEN-COMPILED is used here just to generate some varying output for each iteration.
COBOL’s looping constructs are powerful and flexible, allowing for various types of iteration and control flow within loops.
Comments powered by Disqus