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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Manuale COBOL 943<br />

Nel caso si utilizzino dei nastri, quelli che il programma ha chiuso senza riavvolgere, vengono<br />

comunque riavvolti alla conclusione del programma stesso; inoltre, alla conclusione del<br />

programma vengono chiusi automaticamente i file che sono rimasti ancora aperti.<br />

82.12.4 Istruzione «COMPUTE»<br />

L’istruzione ‘COMPUTE’ consente di calcolare un’espressione aritmetica, assegnando il risultato<br />

a una o più variabili:<br />

«<br />

La variabile che nello schema sintattico appare con il nome identifier deve essere scalare e di<br />

tipo numerico, anche se può contenere una maschera di modifica. Possono essere indicate più<br />

variabili a sinistra del segno ‘=’ e ognuna riceve una copia del risultato dell’espressione alla<br />

destra.<br />

L’opzione ‘ROUNDED’ serve a richiedere un arrotondamento se la variabile ricevente non può<br />

rappresentare il risultato con la stessa precisione ottenuta dal calcolo dell’espressione; l’opzione<br />

‘SIZE ERROR’ consente di richiamare un’istruzione nel caso una delle variabili riceventi<br />

non fosse in grado di contenere la parte più significativa del valore ottenuto calcolando<br />

l’espressione.<br />

|000000 COMPUTE D = A * B + C.<br />

L’esempio mostra che si vuole assegnare alla variabile ‘D’ il risultato dell’espressione ‘A * B<br />

+ C’ (A moltiplicato B, sommato a C).<br />

82.12.5 Istruzione «DELETE»<br />

L’istruzione ‘DELETE’ cancella un record logico da un file organizzato in modo relativo o a<br />

indice (sono esclusi i file organizzati in modo sequenziale).<br />

«<br />

Per poter cancellare un record è necessario che il file sia stato aperto in lettura e scrittura<br />

(‘I-O’).<br />

Se il file viene utilizzato con un accesso sequenziale, l’opzione ‘INVALID KEY’ non è applicabile<br />

e non deve essere scritta nell’istruzione. Inoltre, utilizzando un accesso sequenziale,<br />

prima di eseguire un’istruzione ‘DELETE’ è necessario che il puntatore del record sia stato posizionato<br />

attraverso un’istruzione ‘READ’. L’istruzione ‘READ’ deve precedere immediatamente<br />

l’istruzione ‘DELETE’, che così può cancellare il record appena letto.<br />

Quando il file viene utilizzato con un accesso diretto (‘RANDOM’) o dinamico (‘DYNAMIC’),<br />

l’opzione ‘INVALID KEY’ è obbligatoria, a meno di avere dichiarato un’azione alternativa, in<br />

caso di errore, nella zona di istruzioni definite come ‘DECLARATIVES’, all’inizio della divisione<br />

‘PROCEDURE DIVISION’. Per individuare il record da cancellare, si fa riferimento alla

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

Saved successfully!

Ooh no, something went wrong!