Modulelessen (1/2)
Paragrafen en PRESTEREN
In COBOL vindt modulariteit en logische structurering van code binnen de PROCEDURE DIVISION niet plaats via functies of methoden, maar eerder via Paragrafen en de PERFORM instructie.
Alinea's definiëren
Een alinea is een gelabeld stuk code dat begint met een naam in kolom 8 (Gebied A) en eindigt met een punt ., gevolgd door een reeks instructies in kolom 12 (Gebied B).
DISPLAY-MESSAGE.
DISPLAY "This is a paragraph!".Met alinea's kunnen potentieel zeer lange programma's worden opgesplitst in herbruikbare en zelfdocumenterende blokken.
Alinea's uitvoeren met PERFORM
De instructie PERFORM roept een alinea op en voert deze uit, en geeft vervolgens de controle terug aan de instructie die onmiddellijk volgt op de instructie PERFORM.
PROCEDURE DIVISION.
MAIN-PROCEDURE.
DISPLAY "Starting program...".
PERFORM PROCESS-DATA.
DISPLAY "Ending program.".
STOP RUN.
PROCESS-DATA.
DISPLAY "Processing data in memory...".In de bovenstaande lijst:
- De
DISPLAYbinnenMAIN-PROCEDUREwordt uitgevoerd. PERFORM PROCESS-DATAvertakt de uitvoering naar de paragraafPROCESS-DATA.- Zodra de paragraaf
PROCESS-DATAeindigt, keert de uitvoering terug naarMAIN-PROCEDUREom 'Eindeprogramma' af te drukken. en stop metSTOP RUN..
Probeer het zelf
Definieer een paragraaf met de naam DISPLAY-TOTAL die 'TOTAL IS DONE' afdrukt met behulp van DISPLAY, en roep deze binnen MAIN-PROCEDURE aan met PERFORM voordat u het programma stopt.
Toon hint
Schrijf PERFORM DISPLAY-TOTAAL. in kolom 12 en onder het MAIN-PROCEDURE-blok declareert u het DISPLAY-TOTAL. paragraaf in kolom 8.
Oplossing beschikbaar na 3 pogingen
Roep twee alinea's opeenvolgend aan, eerst INITIALIZE-DATA en vervolgens PROCESS-DATA, binnen het MAIN-PROCEDURE-blok.
Toon hint
Voeg de twee PERFORM-instructies in opeenvolgende volgorde in kolom 12 in.
Oplossing beschikbaar na 3 pogingen