Salt la conținutul principal
Modulul 3 · Lecția 1 din 25/10 în curs~12 min
Lecții din modul (1/2)

Paragrafe și PERFORM

În COBOL, modularitatea și structurarea logică a codului în interiorul PROCEDURE DIVISION nu apar prin funcții sau metode, ci mai degrabă prin Paragrafe și instrucțiunea PERFORM.

Definirea Paragrafelor

Un paragraf este o secțiune de cod etichetată care începe cu un nume la coloana 8 (Zona A) care se termină cu un punct ., urmată de o secvență de instrucțiuni la coloana 12 (Zona B).

COBOL
DISPLAY-MESSAGE.
    DISPLAY "This is a paragraph!".

Paragrafele permit împărțirea programelor potențial foarte lungi în blocuri reutilizabile și auto-documentate.

Executarea Paragrafelor cu PERFORM

Instrucțiunea PERFORM invocă și execută un paragraf, apoi returnează controlul instrucțiunii imediat după instrucțiunea PERFORM.

COBOL
PROCEDURE DIVISION.
MAIN-PROCEDURE.
    DISPLAY "Starting program...".
    PERFORM PROCESS-DATA.
    DISPLAY "Ending program.".
    STOP RUN.

PROCESS-DATA.
    DISPLAY "Processing data in memory...".

În lista de mai sus:

  1. DISPLAY din interiorul MAIN-PROCEDURE este executat.
  2. PERFORM PROCESS-DATA ramifică execuția la paragraful PROCESS-DATA.
  3. Odată ce paragraful PROCESS-DATA se termină, execuția revine la MAIN-PROCEDURE pentru a tipări „Programul final”. și opriți folosind STOP RUN..

Încercați-l singur

Exercițiu#cobol.m3.l1.e1
Încercări: 0Se încarcă…

Definiți un paragraf numit DISPLAY-TOTAL care afișează „TOTAL IS DONE” folosind DISPLAY și apelați-l în MAIN-PROCEDURE folosind PERFORM înainte de a opri programul.

Se încarcă editorul...
Afișează indiciu

Scrieți PERFORM DISPLAY-TOTAL. la coloana 12, iar sub blocul MAIN-PROCEDURE declarați DISPLAY-TOTAL. paragraful din coloana 8.

Soluție disponibilă după 3 încercări

Exercițiu#cobol.m3.l1.e2
Încercări: 0Se încarcă…

Apelați secvențial două paragrafe, mai întâi INITIALIZE-DATA și apoi PROCESS-DATA, în blocul MAIN-PROCEDURE.

Se încarcă editorul...
Afișează indiciu

Introduceți cele două instrucțiuni PERFORM în ordine secvențială în coloana 12.

Soluție disponibilă după 3 încercări