Programmeren in COBOL/Bewerkingen/IF en lussen: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
wat er gebeurT als ... / een variabele bepaalT ...
Sephiroth (overleg | bijdragen)
k +een lus
Regel 41:
 
==Lussen==
Er zijn twee manieren om lussen te gebruiken: door middel van ''TIMES'' of ''UNTIL''. ''TIMES'' laat een lus een aantal keren uitvoeren. Bij ''UNTIL'' moet er aan een bepaalde voorwaarde voldaan worden voordat de lus stopt.
 
===TIMES===
Regel 55:
}}
 
Met dit programma wordt ''TIMES'' 60 keer getoond op het scherm. Er kan natuurlijk ook gebruik gemaakt worden van een variabele die bepaalt hoe vaak de lus moet worden uitgevoerd.
 
===UNTIL===
Regel 72:
</pre>
}}
Hoewel dit voorbeeld sterk overeenkomt met het vorige, is het toch fundamenteel verschillend: als je de - vervangt door een +, dan zal de lus nooit eindigen! (Mainframes stoppen gelukkig vanzelf na een seconde (dure) rekentijd.) Om aan deze lus een einde te brengen moet er voldaan worden aan een bepaalde voorwaarde hier is dat wanneer het ''getal'' 0 bevat. Er kunnen ook meerdere condities bij ''UNTIL'' worden gebruikt.
{{code
|Taal = COBOL
|Titel = Meerdere condities.
|Code =
<pre>
PERFORM UNTIL (getal1 = 0 OR getal2 > 0) AND getal 3 < 0
</pre>
}}
====VARYING====
Deze lus kan vergeleken worden met de for-lus in andere talen. Maar moet echter gecombineerd worden met ''UNTIL''.
{{code
|Taal = COBOL
|Titel = Lus met VARYING
|Code =
<pre>
IDENTIFICATION DIVISION.
PROGRAM-ID. performvarying.
 
DATA DIVISION.
Hoewel dit voorbeeld sterk overeenkomt met het vorige, is het toch fundamenteel verschillend: als je de - vervangt door een +, dan zal de lus nooit eindigen! (Mainframes stoppen gelukkig vanzelf na een seconde (dure) rekentijd.)
WORKING-STORAGE SECTION.
77 i pic 99.
 
PROCEDURE DIVISION.
hoofd.
PERFORM VARYING i FROM 1 BY 1 UNTIL i > 20
DISPLAY "I is: " i
END-PERFORM
STOP RUN.
</pre>
}}
Deze lus begint ook met ''PERFORM'' gevolgd door ''VARYING''. ''i'' is de teller in deze lus en wordt gevolgd door ''FROM''. ''FROM'' bepaalt de start positie van de teller ''i'' in de plaats van een cijfer kan er ook een veld staan. Dan komt ''BY'' en betekent hoeveel er wordt opgeteld of afgetrokken(je kan dus ook een negatief getal gebruiken) van de teller per keer dat de lus wordt uitgevoerd. Dan komt ''UNTIL'' die werkt net zoals bij de gewone ''UNTIL'' als er aan een bepaalde voorwaarde wordt voldaan eindigt de lus.
[[Categorie:Programmeren in COBOL|If en lussen]]
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.