Vai al contenuto
eLearner.app

Corso COBOL

Cheatsheet

Un riferimento veloce — la sintassi essenziale di COBOL su una pagina sola. Usa Ctrl/Cmd + P per stamparla.

COBOL · Cheatsheet — eLearner.app

Struttura e Divisioni

  • Programma Minimo

           IDENTIFICATION DIVISION.
           PROGRAM-ID. MINIMAL-PROGRAM.
           PROCEDURE DIVISION.
               DISPLAY "Hello from COBOL".
               STOP RUN.

    Le divisioni IDENTIFICATION, PROGRAM-ID e PROCEDURE DIVISION sono obbligatorie in ogni programma.

  • Regole del Formato Fisso

    Colonna 1-6   : Sequenza (opzionale)
    Colonna 7     : Commenti (*), Continuazioni (-)
    Colonna 8-11  : Area A (Divisioni, Sezioni, Paragrafi, livello 01)
    Colonna 12-72 : Area B (Istruzioni, clausole di dati, livelli > 01)

    COBOL tradizionale richiede un rigido allineamento a colonne. Il carattere * in colonna 7 indica un commento.

Variabili e Tipi (DATA DIVISION)

  • Dichiarazione Variabili

           DATA DIVISION.
           WORKING-STORAGE SECTION.
           01 WS-USER-NAME PIC X(20) VALUE "Alice".
           01 WS-USER-AGE  PIC 9(3)  VALUE 25.
           01 WS-SALARY    PIC 9(4)V99 VALUE 1500.50.

    Le variabili sono dichiarate in WORKING-STORAGE SECTION. Livello 01 indica record principali, PIC definisce il tipo (X alfanumerico, 9 numerico, V decimali impliciti).

  • Variabili Strutturate (Record)

           01 WS-USER-RECORD.
              05 WS-FIRST-NAME PIC X(15) VALUE "John".
              05 WS-LAST-NAME  PIC X(15) VALUE "Doe".
              05 WS-DETAILS.
                 10 WS-ROLE    PIC X(10) VALUE "Coder".

    La gerarchia dei dati usa i numeri di livello (01, 05, 10) per raggruppare sotto-campi in record complessi.

Aritmetica COBOL

  • Istruzioni Matematiche Formali

    ADD 5 TO WS-COUNTER.
    ADD WS-VAL-A TO WS-VAL-B GIVING WS-SUM.
    SUBTRACT 10 FROM WS-TOTAL.
    MULTIPLY WS-QTY BY WS-PRICE GIVING WS-SUBTOTAL.
    DIVIDE WS-TOTAL BY 2 GIVING WS-HALF.

    Usa GIVING per salvare il risultato in una nuova variabile senza sovrascrivere l'operando iniziale.

  • Istruzione COMPUTE

    COMPUTE WS-FINAL-AMOUNT = (WS-SUBTOTAL * 1.22) - WS-DISCOUNT.

    COMPUTE permette calcoli algebrici complessi usando operatori standard (+, -, *, /, **).

Controllo del Flusso

  • Condizionali IF-ELSE

    IF WS-USER-AGE >= 18 THEN
        DISPLAY "Accesso consentito"
    ELSE
        DISPLAY "Accesso negato"
    END-IF.

    I blocchi condizionali devono sempre terminare con END-IF (o un punto "." in vecchi dialetti).

  • EVALUATE (Switch-Case)

    EVALUATE WS-USER-AGE
        WHEN 0 THRU 17
            DISPLAY "Minorenne"
        WHEN 18 THRU 64
            DISPLAY "Adulto"
        WHEN OTHER
            DISPLAY "Senior"
    END-EVALUATE.

    EVALUATE controlla condizioni multiple ed equivale allo switch-case o a IF-ELSE annidati.

Paragrafi e Cicli (Iterazioni)

  • Paragrafi e PERFORM

           PROCEDURE DIVISION.
           MAIN-LOGIC.
               PERFORM DO-INITIALIZE.
               DISPLAY "In esecuzione...".
               STOP RUN.
    
           DO-INITIALIZE.
               DISPLAY "Inizializzazione".

    I paragrafi suddividono il codice PROCEDURE DIVISION in moduli logici riutilizzabili con PERFORM.

  • Cicli (PERFORM TIMES / UNTIL)

    * Ciclo numerico fisso
    PERFORM 5 TIMES
        DISPLAY "Hello"
    END-PERFORM.
    
    * Ciclo condizionale (while/until)
    PERFORM UNTIL WS-COUNTER > 10
        DISPLAY "Count: " WS-COUNTER
        ADD 1 TO WS-COUNTER
    END-PERFORM.

    PERFORM UNTIL esegue il blocco FINCHÉ la condizione indicata non diventa vera (valutata prima di ogni iterazione).

eLearner.app · Corso COBOL · cheatsheet generato dai contenuti delle lezioni.