25.06.2013 Views

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

8.2 Le specifiche di I/O 411<br />

il trasferimento dei record. Quando, invece, i record vengono trasferiti in ordine, in maniera<br />

consecutiva, la modalità di accesso è detta sequenziale. In questo modo, per poter accedere ad<br />

un record del file occorre avere prima scorso tutti i record che si trovano prima di quello voluto<br />

(e quindi i record devono essere letti nel medesimo ordine in cui sono stati scritti). I record in<br />

un file ad accesso sequenziale possono, tuttavia, essere di diversa lunghezza. I file ad accesso<br />

sequenziale formattati contengono solitamente informazioni di tipo testo e ogni record ha un<br />

carattere di fine record. L’accesso sequenziale non formattato è generalmente adoperato per<br />

procedere su informazioni binarie non codificate come i file ”.obj”.<br />

Affinché sia possibile operare su un file è necessario che questo sia ”conosciuto”: ciò avviene<br />

attraverso l’associazione del nome interno del file (valido nell’ambiente del linguaggio) con il<br />

nome esterno (valido nell’ambiente del sistema operativo). Questa operazione è nota come<br />

connessione del file ad una unità logica.<br />

Per le unità di I/O ”standard” quali tastiera e video, il linguaggio prevede l’uso di speciali file<br />

esterni precollegati. I file relativi alle unità di I/O standard sono da ritenersi sempre connessi<br />

per tutti i possibili programmi; essi si dicono, pertanto, file preconnessi e la dichiarazione di<br />

connessione, come si vedrà in seguito, è per essi implicitamente assunta.<br />

Una particolare classe di file è quella che va sotto il nome di file interni. Un file interno<br />

è un particolare oggetto in grado di contenere una variabile o un array di tipo CHARACTER.<br />

In particolare, un file interno che contenga una sola variabile, un unico elemento di array<br />

o una sottostringa, tutti di tipo CHARACTER, si compone un solo record, la cui lunghezza è<br />

quella dell’entità carattere considerata. Un file interno che contenga, invece, un vettore di tipo<br />

CHARACTER, avrà tanti record quanti sono gli elementi dell’array, con lunghezza uguale a quella<br />

degli elementi stessi. I dati di questi file possono essere trasferiti solo con la modalità di accesso<br />

sequenziale formattato. Come si vedrà in seguito, solitamente questi file vengono utilizzati per<br />

la conversione del tipo di variabili da numerico a CHARACTER.<br />

8.2 Le specifiche di I/O<br />

Le istruzioni di I/O hanno tutte quante la forma:<br />

istruzione(lista_di_specificatori) lista_di_operandi<br />

in cui istruzione è la generica istruzione di I/O la cui funzione può essere una delle seguenti:<br />

• connessione e sconnessione di un file (OPEN, CLOSE)<br />

• interrogazione dello stato del file (INQUIRE)<br />

• lettura e scrittura di record (READ, WRITE<br />

• posizionamento del file (REWIND, BACKSPACE)<br />

• apposizione del record di fine file (ENDFILE)

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

Saved successfully!

Ooh no, something went wrong!