Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
45
Task/Loops-Nested/COBOL/loops-nested.cobol
Normal file
45
Task/Loops-Nested/COBOL/loops-nested.cobol
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. Nested-Loop.
|
||||
|
||||
DATA DIVISION.
|
||||
LOCAL-STORAGE SECTION.
|
||||
78 Table-Size VALUE 10.
|
||||
01 Table-Area.
|
||||
03 Table-Row OCCURS Table-Size TIMES
|
||||
INDEXED BY Row-Index.
|
||||
05 Table-Element PIC 99 OCCURS Table-Size TIMES
|
||||
INDEXED BY Col-Index.
|
||||
|
||||
01 Current-Time PIC 9(8).
|
||||
PROCEDURE DIVISION.
|
||||
* *> Seed RANDOM.
|
||||
ACCEPT Current-Time FROM TIME
|
||||
MOVE FUNCTION RANDOM(Current-Time) TO Current-Time
|
||||
|
||||
* *> Put random numbers in the table.
|
||||
* *> The AFTER clause is equivalent to a nested PERFORM VARYING
|
||||
* *> statement.
|
||||
PERFORM VARYING Row-Index FROM 1 BY 1
|
||||
UNTIL Table-Size < Row-Index
|
||||
AFTER Col-Index FROM 1 BY 1
|
||||
UNTIL Table-Size < Col-Index
|
||||
COMPUTE Table-Element (Row-Index, Col-Index) =
|
||||
FUNCTION MOD((FUNCTION RANDOM * 1000), 20) + 1
|
||||
END-PERFORM
|
||||
|
||||
* *> Search through table for 20.
|
||||
* *> Using proper nested loops.
|
||||
PERFORM VARYING Row-Index FROM 1 BY 1
|
||||
UNTIL Table-Size < Row-Index
|
||||
PERFORM VARYING Col-Index FROM 1 BY 1
|
||||
UNTIL Table-Size < Col-Index
|
||||
IF Table-Element (Row-Index, Col-Index) = 20
|
||||
EXIT PERFORM
|
||||
ELSE
|
||||
DISPLAY Table-Element (Row-Index, Col-Index)
|
||||
END-IF
|
||||
END-PERFORM
|
||||
END-PERFORM
|
||||
|
||||
GOBACK
|
||||
.
|
||||
Loading…
Add table
Add a link
Reference in a new issue