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.

218 Unità di Programma<br />

[CONTAINS<br />

procedure interne]<br />

END [PROGRAM [nome_programma]]<br />

L’istruzione PROGRAM segna l’inizio dell’unità di programma principale mentre l’istruzione<br />

END PROGRAM non solo rappresenta la fine dell’unità ma anche la fine dell’intero programma.<br />

Specificare il nome del programma è opzionale ma è sempre consigliabile farlo. L’istruzione<br />

CONTAINS serve ad identificare le eventuali procedure interne all’unità di programma principale.<br />

Quando tutte le istruzioni eseguibili siano state completate, il controllo bypassa le eventuali<br />

procedure interne per eseguire l’istruzione di END.<br />

Un programma può essere interrotto, durante la sua esecuzione, in un punto qualsiasi e da<br />

ogni unità di programma, attraverso l’istruzione STOP la quale ha la seguente sintassi:<br />

STOP [etichetta]<br />

in cui l’etichetta è una stringa di caratteri opzionale (racchiusa tra virgolette) avente lo scopo<br />

di informare l’utente del punto in cui l’esecuzione del programma è stata interrotta.<br />

5.2 Procedure<br />

Una procedura è un’unità di programma usata per raggruppare un insieme di istruzioni correlate<br />

aventi lo scopo di risolvere un problema specifico e, in qualche modo, ”completo”. Per<br />

procedura si intende una subroutine o una function. Una function restituisce un solo valore<br />

e, tipicamente, non altera il valore dei suoi argomenti; una subroutine di solito serve ad eseguire<br />

calcoli più complicati e può restituire, attraverso i suoi argomenti, zero o più risultati.<br />

Le procedure possono essere di due tipi: intrinseche o definite dall’utente. Le prime sono<br />

residenti nel linguaggio e, pertanto, sono immediatamente utilizzabili dal programmatore (tipiche<br />

procedure intrinseche sono le funzioni matematiche SIN, LOG, etc.). Invece, le procedure<br />

definite dall’utente (anche dette sottoprogrammi) sono create dal programmatore per svolgere<br />

compiti speciali non previsti dalle procedure intrinseche.<br />

<strong>Il</strong> <strong>Fortran</strong> <strong>90</strong>/<strong>95</strong> prevede tre tipologie di sottoprogrammi:<br />

• Procedure Interne: sono contenute interamente in una unità di programma ”ospite”.<br />

• Procedure Esterne: sono procedure ”indipendenti”, spesso non contenute nel file che<br />

contiene l’unità di programma chiamante e non necessariamente devono essere scritte in<br />

<strong>Fortran</strong>.<br />

• Procedure di Modulo: sono procedure contenute all’interno di un’unità di programma<br />

modulo.<br />

5.2.1 Subroutine<br />

Una subroutine è una procedura <strong>Fortran</strong> che viene invocata specificandone il nome in un’istruzioneCALL,<br />

riceve i valori di input e restituisce quelli di output attraverso unalista_di_argomenti.<br />

La forma generale di una subroutine è la seguente:

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

Saved successfully!

Ooh no, something went wrong!