24.01.2014 Views

Parte ii - IIS Marconi Latina - Area didattica

Parte ii - IIS Marconi Latina - Area didattica

Parte ii - IIS Marconi Latina - Area didattica

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Manuale COBOL 911<br />

|001500 03 COGNOME PIC X(30).<br />

|001600 03 NOME PIC X(30).<br />

|001700 03 NOTA PIC X(200).<br />

|001800 77 UTENTI-MAX USAGE IS INDEX.<br />

82.7.6 Scansione delle tabelle<br />

Il linguaggio COBOL prevede un’istruzione apposita per facilitare la scansione delle tabelle.<br />

Si tratta di ‘SEARCH’, che ha due modalità di funzionamento, a seconda che si voglia eseguire<br />

una ricerca sequenziale o una ricerca binaria. Naturalmente, la ricerca sequenziale si presta<br />

alla scansione di una tabella i cui dati non sono ordinati, mentre nel secondo caso devono<br />

esserlo.<br />

«<br />

Viene mostrato l’esempio di un programma completo che inizia con l’inserimento di dati<br />

all’interno di una tabella, quindi esegue una ricerca sequenziale al suo interno:<br />

|000100 IDENTIFICATION DIVISION.<br />

|000200 PROGRAM-ID. TEST-SEARCH.<br />

|000300 AUTHOR. DANIELE GIACOMINI.<br />

|000400 INSTALLATION. NANOLINUX IV,<br />

|000500 OPENCOBOL 0.31,<br />

|000600 DATE-WRITTEN. 2005-03-12.<br />

|000700*<br />

|000800 ENVIRONMENT DIVISION.<br />

|000900*<br />

|001000 DATA DIVISION.<br />

|001100*<br />

|001200 WORKING-STORAGE SECTION.<br />

|001300 01 RECORD-UTENTI.<br />

|001400 02 UTENTE OCCURS 60 TIMES<br />

|001500 INDEXED BY IND-UTENTE.<br />

|001600 03 COGNOME PIC X(30).<br />

|001700 03 NOME PIC X(30).<br />

|001800 03 NOTA PIC X(200).<br />

|001900 77 EOJ PIC 9 VALUE ZERO.<br />

|002000 77 RISPOSTA PIC XX.<br />

|002100 77 RICERCA PIC X(30).<br />

|002200*<br />

|002300 PROCEDURE DIVISION.<br />

|002400*------------------------- LIVELLO 0 -----------------------------<br />

|002500 MAIN.<br />

|002600 PERFORM INSERIMENTO-DATI<br />

|002700 VARYING IND-UTENTE FROM 1 BY 1<br />

|002800 UNTIL EOJ = 1.<br />

|002900 MOVE 0 TO EOJ.<br />

|003000 PERFORM SCANSIONE UNTIL EOJ = 1.<br />

|003100*<br />

|003200 STOP RUN.<br />

|003300*------------------------- LIVELLO 1 -----------------------------<br />

|003400 INSERIMENTO-DATI.<br />

|003500 DISPLAY IND-UTENTE, " INSERISCI IL COGNOME: ".

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!