25.06.2013 Views

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

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.

264 Unità di Programma<br />

– Procedure matematiche, ad esempio: SIN e LOG.<br />

– Procedure numeriche, ad esempio: SUM e CEILING.<br />

– Procedure per il trattamento di caratteri, ad esempio: INDEX e TRIM.<br />

– Procedure di manipolazione di bit, ad esempio: IAND e IOR.<br />

• Procedure di interrogazione, ad esempio: ALLOCATED e SIZE. Tipicamente una ”interrogazione”<br />

riguarda:<br />

– Lo stato di un oggetto dinamico.<br />

– La forma, le dimensioni ed i limiti di un array.<br />

– I parametri di kind di un oggetto.<br />

– <strong>Il</strong> modello numerico usato per la rappresentazione dei tipi e dei parametri di kind.<br />

– La presenza di un argomento opzionale in una chiamata di procedura.<br />

• Procedure di trasformazione, ad esempio: REAL e TRANSPOSE. Queste possono essere, a<br />

loro volta:<br />

– Procedure di ripetizione, ad esempio per la ”ripetizione” di stringhe di caratteri.<br />

– Procedure di riduzione matematica, ad esempio per ottenere un array di rango minore<br />

a partire da un dato array.<br />

– Procedure di manipolazione di array, ad esempio per le operazioni di shift, come<br />

RESHAPE e PACK.<br />

– Procedure di coercizione di tipo, ad esempio TRANSFER che copia un oggetto, bit per<br />

bit, in uno di tipo differente.<br />

• Procedure ”varie” (subroutine non di elemento), come SYSTEM_CLOCK e DATE_AND_TIME.<br />

Le procedure intrinseche si differenziano a seconda degli argomenti sui quali operano. Alcune<br />

procedure possono lavorare solo con variabili scalari, altre soltanto con array. Tutte le procedure<br />

intrinseche che si applicano ad argomenti di tipo REAL in singola precisione accettano anche<br />

argomenti in doppia precisione.<br />

Delle procedure matematiche, numeriche e di manipolazione di stringhe si è già parlato al<br />

capitolo 1, così come di alcune funzioni di interrogazione. Delle altre funzioni di interrogazione e<br />

delle procedure di manipolazione di array si parlerà nei prossimi capitoli. Restano da analizzare<br />

le subroutine intrinseche e le procedure operanti sui bit e sarà questo lo scopo dei prossimi<br />

paragrafi.<br />

5.12.1 Subroutine intrinseche<br />

Fanno parte di questo gruppo delle utility per la generazione di numeri pseudo-random e per<br />

la interrogazione dell’orologio di sistema.

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

Saved successfully!

Ooh no, something went wrong!