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.

5.2 Procedure 219<br />

SUBROUTINE nome_subroutine[(lista_di_argomenti)]<br />

[istruzioni di definizione e dichiarazione di variabili]<br />

[istruzioni eseguibili]<br />

[CONTAINS<br />

procedure interne]<br />

[RETURN]<br />

END [SUBROUTINE [nome_subroutine]]<br />

L’istruzioneSUBROUTINE identifica l’inizio della subroutine, specifica il nome della procedura<br />

e la lista degli argomenti.<br />

La lista degli argomenti contiene una serie di variabili che vengono passate alla subroutine<br />

dall’unità di programma chiamante. Queste variabili sono chiamate parametri formali o<br />

argomenti fittizi (dummy) in quanto le subroutine non riservano alcuna memoria per questo<br />

tipo di variabili. Si tratta, quindi, di una specie di ”segnaposti” per gli argomenti effettivi o<br />

parametri attuali che saranno passati dall’unità chiamante.<br />

Allo stesso modo di un’unità di programma principale, anche una subroutine ha una sezione<br />

dichiarativa ed una sezione esecutiva. Quando un programma chiama una subroutine, l’esecuzione<br />

del programma viene temporaneamente sospesa per consentire l’esecuzione della subroutine.<br />

Quando viene raggiunta l’istruzione RETURN o l’istruzione END SUBROUTINE l’esecuzione<br />

dell’unità chiamante riprende dalla riga successiva a quella che ha effettuato la chiamata.<br />

Qualsiasi unità di programma eseguibile può chiamare una subroutine, inclusa un’altra<br />

subroutine. La chiamata avviene attraverso l’istruzione CALL, la cui sintassi è:<br />

CALL nome_subroutine([lista_di_argomenti])<br />

Gli argomenti effettivi della lista degli argomenti devono corrispondere in numero, ordine e tipo<br />

agli argomenti fittizi dichiarati nella subroutine.<br />

5.2.2 Function<br />

Una function è una procedura <strong>Fortran</strong> il cui risultato è un numero, un valore logico, un array,<br />

una stringa, un puntatore, che può essere combinato con variabili e costanti a formare una<br />

espressione. Queste espressioni possono apparire sul lato destro di un’istruzione di assegnazione<br />

nell’unità di programma chiamante.<br />

La forma generale di una funzione è la seguente:<br />

tipo FUNCTION nome_function[(lista_di_argomenti)]<br />

[istruzioni di definizione e dichiarazione di variabili]<br />

[istruzioni eseguibili]<br />

nome_funzione = espressione<br />

[CONTAINS<br />

procedure interne]<br />

END [FUNCTION [nome_function]]<br />

<strong>Il</strong>tipo del risultato fornito dalla function può anche essere specificato nella sezione dichiarativa,<br />

in tal caso la forma della function diventa:

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

Saved successfully!

Ooh no, something went wrong!