xxx xxx xxx ...xxx
1960
JDoodle - Online COBOL Compiler IDE ...
(Ctrl+C, open link in new panel, Ctrl+V, Submit)
identification division. program-id. TYPEWRITER. *> from STDIN to screen directly *> with GO statements - NON Interactive mode *** data division. working-storage section. 1 TW-MEMORY. 2 INP-LINE pic x(80) occurs 5. 77 I pic 9 value 1. procedure division. MAIN-PROC. move space to TW-MEMORY perform INP-PROC thru WORK-PROC. END-PROC. display " the work is finished ***" stop run. INP-PROC. if I > 5 display " limit 5 exceeded" go END-PROC. WORK-PROC. accept INP-LINE(I) if INP-LINE(I) = "e" go END-PROC else display I ". " INP-LINE(I) add 1 to I go INP-PROC.
I = STDIN:
aaaaaaa bbbbbbb ccccccc e
O = screen:
1. aaaaaaa 2. bbbbbb 3. ccccccc work is terminated ***
ANS X3.23-1968
JDoodle - Online COBOL Compiler IDE ...
(Ctrl+C, open link in new panel, Ctrl+V, Submit)
identification division. program-id. TYPEWRITER. *> keyboard - memory - screen *> structured code without scope-delimiters *> *** execute in Interactive mode *** data division. working-storage section. 1 TW-MEMORY. 2 INP-LINE pic x(80) occurs 5. 77 I pic 9. procedure division. move space to TW-MEMORY display "write text max 5 times, at end write e:" display " " perform INP-PROC varying I from 1 by 1 until I > 5 display " entry is complete" display " " perform OUT-PROC varying I from 1 by 1 until INP-LINE(I) = "e" or I > 5 display " the work is finished ***" stop run. INP-PROC. accept INP-LINE(I) if INP-LINE(I) = "e" move 6 to I. OUT-PROC. display I ". " INP-LINE(I).
I = keyboard, W = memory, O = screen:
write text max 5 times, at end write e: aaaaaaa bbbbbbb ccccccc e entry is complete 1. aaaaaaa 2. bbbbbbb 3. ccccccc the work is finished ***
ANSI '85
JDoodle - Online COBOL Compiler IDE ...
(Ctrl+C, open link in new panel, Ctrl+V, Submit)
identification division. program-id. TYPEWRITER. *> keyboard - memory - screen *> structured code with scope-delimiters *> *** execute in Interactive mode *** data division. working-storage section. 1 TW-MEMORY. 2 INP-LINE pic x(80) occurs 5. 77 I pic 9. 77 MEM pic 9. 88 MEM-BEG value 0. 88 MEM-END value 1. procedure division. initialize TW-MEMORY set MEM-BEG to true display "write text max 5 times, at end write e:" display " " perform varying I from 1 by 1 until I > 5 or MEM-END accept INP-LINE(I) if INP-LINE(I) = "e" set MEM-END to true end-if end-perform display " entry is complete" display " " perform varying I from 1 by 1 until INP-LINE(I) = "e" or I > 5 display I ". " INP-LINE(I) end-perform display " the work is finished ***" stop run.
I = keyboard, W = memory, O = screen:
write text max 5 times, at end write e: aaaaaaaa bbbbbbbb cccccccc e entry is complete 1. aaaaaaaa 2. bbbbbbbb 3. cccccccc
the work is finished
Čevela - 8.5.2020