Vai a pag. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

Frammento di programma di gestione della Tabella con uso del livello 88

   *    Programma per la ricerca di un elemento
   *    all'interno di una tabella

...
WORKING-STORAGE SECTION.
...
   *     variabile logica per la ricerca

01  CERCA-IN-TAB   PIC 9.
     88 TROVATO     VALUE 1.
     88 NON-TROVATO VALUE 0.

   *     codice articolo da cercare in tabella

01  COD-DA-INP     PIC X(6).
...
PROCEDURE DIVISION.
MAIN SECTION.
IN-MAIN.
     PERFORM DATI-INIZIALI.
     MOVE 1 TO CONTA.
     SET NON-TROVATO TO TRUE.
     PERFORM CERCA UNTIL TROVATO OR CONTA > QUANT.
     PERFORM RISULTATO.
FI-MAIN.  STOP RUN.

DATI-INIZIALI SECTION.
IN-DATINIZ.
     PERFORM CARICA.
     ACCEPT COD-DA-INP.
FI-DATINIZ.  EXIT.

CARICA SECTION.
IN-CARICA.
...
FI-CARICA.  EXIT.

CERCA SECTION.
IN-CERCA.

    *    Verifica se il codice proveniente da input è uguale
    *    al codice selezionato della tabella

     IF COD-DA-INP = CODART (CONTA)
       SET TROVATO TO TRUE
     ELSE
       ADD 1 TO CONTA
     END-IF.
FI-CERCA.  EXIT.

RISULTATO SECTION.
IN-RISUL.
     IF TROVATO
       DISPLAY "Elemento trovato in posizione " CONTA
     ELSE
       DISPLAY "Elemento non presente in tabella"
     END-IF.
FI-RISUL.  EXIT.

N.Brugaletta

COBOL 20