Direct naar de hoofdinhoud
Module 3 · Les 1 van 25/10 in de cursus~12 min
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).

COBOL
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.

COBOL
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:

  1. De DISPLAY binnen MAIN-PROCEDURE wordt uitgevoerd.
  2. PERFORM PROCESS-DATA vertakt de uitvoering naar de paragraaf PROCESS-DATA.
  3. Zodra de paragraaf PROCESS-DATA eindigt, keert de uitvoering terug naar MAIN-PROCEDURE om 'Eindeprogramma' af te drukken. en stop met STOP RUN..

Probeer het zelf

Oefening#cobol.m3.l1.e1
Pogingen: 0Laden…

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.

Editor laden…
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

Oefening#cobol.m3.l1.e2
Pogingen: 0Laden…

Roep twee alinea's opeenvolgend aan, eerst INITIALIZE-DATA en vervolgens PROCESS-DATA, binnen het MAIN-PROCEDURE-blok.

Editor laden…
Toon hint

Voeg de twee PERFORM-instructies in opeenvolgende volgorde in kolom 12 in.

Oplossing beschikbaar na 3 pogingen