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 875<br />

82.4.3.3 Istruzione «SELECT» per i file sequenziali<br />

Lo schema sintattico semplificato per l’istruzione ‘SELECT’, da usare nel paragrafo<br />

‘FILE-CONTROL’, per dichiarare un file sequenziale è quello che si può vedere nella figura<br />

successiva:<br />

«<br />

Il file sequenziale può essere letto o scritto soltanto in modo sequenziale, a partire dall’inizio.<br />

Se l’unità di memorizzazione che lo contiene è sequenziale per sua natura, come avviene<br />

per un nastro o un lettore di schede perforate, si può avere solo una fase di lettura o una<br />

fase di scrittura, senza la possibilità di mescolare le due operazioni, mentre se si dispone di<br />

un’unità di memorizzazione ad accesso diretto, come nel caso di un disco, si può leggere e poi<br />

sovrascrivere lo stesso record.<br />

Nello schema sintattico, la metavariabile file-name deve essere sostituita con il nome che<br />

si vuole attribuire al file nell’ambito del programma (non si tratta del nome che questo ha<br />

eventualmente per il sistema operativo). La metavariabile hardware-name va sostituita con<br />

un nome che serve a identificare l’unità di memorizzazione che contiene il file; questo nome<br />

dipende dal compilatore ma generalmente si mette ‘DISK’ per indicare un file su disco. Altri<br />

nomi per la metavariabile hardware-name potrebbero essere: ‘TAPE’, ‘PRINTER’, ‘PUNCH’,<br />

‘READER’ (gli ultimi due sarebbero un perforatore e un lettore di schede).<br />

Il linguaggio COBOL è fatto per poter essere adattato a sistemi operativi molto diversi. In<br />

un sistema Unix, l’accesso alle unità di memorizzazione avviene attraverso dei file di dispositivo,<br />

pertanto, a seconda del compilatore, potrebbe anche essere superfluo dichiarare il<br />

tipo di unità di memorizzazione in questo modo, anche se in passato il linguaggio obbligava<br />

a farlo. Proprio per questo motivo, ci sono compilatori che, al posto di indicare il tipo di<br />

unità fisica attraverso un nome prestabilito, richiedono di mettere subito il percorso del file a<br />

cui si vuole fare riferimento, nonostante il linguaggio preveda per questo una dichiarazione<br />

separata nella divisione ‘DATA DIVISION’. In questo senso, nello schema sintattico appare<br />

la possibilità di indicare una stringa alfanumerica con il percorso del file (literal-file-name).<br />

Nella dichiarazione ‘RESERVE integer’, la metavariabile integer rappresenta un numero intero<br />

di record da usare come memoria tampone. Se non si usa questa dichiarazione che, come si<br />

vede dallo schema sintattico, è facoltativa, viene usata la dimensione predefinita.<br />

La dichiarazione ‘ORGANIZATION IS SEQUENTIAL’ è facoltativa e sottintesa; tuttavia va osservato<br />

il significato che assume quando si aggiunge la parola ‘LINE’. In generale, il linguaggio<br />

COBOL considera i file come composti da record di dimensione uniforme. Quando però si

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

Saved successfully!

Ooh no, something went wrong!