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.

5 Unità di Programma 217<br />

5.1 <strong>Il</strong> programma principale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217<br />

5.2 Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218<br />

5.2.1 Subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218<br />

5.2.2 Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219<br />

5.2.3 Argomenti attuali e argomenti fittizi . . . . . . . . . . . . . . . . . . . . 220<br />

5.2.4 Alcune note sull’utilizzo delle procedure . . . . . . . . . . . . . . . . . . 222<br />

5.3 Procedure Interne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223<br />

5.4 Variabili locali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226<br />

5.4.1 Attributo e istruzione SAVE . . . . . . . . . . . . . . . . . . . . . . . . . 227<br />

5.5 Moduli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228<br />

5.5.1 Restrizione della visibilità di un modulo . . . . . . . . . . . . . . . . . . 233<br />

5.5.2 Procedure di Modulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236<br />

5.6 Procedure Esterne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238<br />

5.7 Interfacce esplicite ed implicite . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239<br />

5.7.1 Interface Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240<br />

5.8 Argomenti delle Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244<br />

5.8.1 L’attributo INTENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244<br />

5.8.2 Parametri formali riferiti per nome . . . . . . . . . . . . . . . . . . . . . 245<br />

5.8.3 Argomenti opzionali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246<br />

5.8.4 Array come parametri formali . . . . . . . . . . . . . . . . . . . . . . . . 249<br />

5.8.5 Variabili stringa di caratteri come parametri formali . . . . . . . . . . . . 251<br />

5.8.6 Tipi di dati derivati come argomenti di procedure . . . . . . . . . . . . . 252<br />

5.8.7 Procedure come argomenti . . . . . . . . . . . . . . . . . . . . . . . . . . 254<br />

5.9 Funzioni array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258<br />

5.10 Funzioni stringa di caratteri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260<br />

5.11 Funzioni di tipo derivato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261<br />

5.12 Procedure intrinseche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263<br />

5.12.1 Subroutine intrinseche . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264<br />

5.12.2 Procedure di manipolazione dei bit . . . . . . . . . . . . . . . . . . . . . 268<br />

5.13 Effetti collaterali nelle funzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273<br />

5.14 Clausola RESULT per le funzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . 277<br />

5.15 Procedure ricorsive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279<br />

5.16 Procedure generiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284<br />

5.17 Overloading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286<br />

5.17.1 Overloading degli operatori . . . . . . . . . . . . . . . . . . . . . . . . . 286<br />

5.17.2 Definizione di nuovi operatori . . . . . . . . . . . . . . . . . . . . . . . . 296<br />

5.17.3 Overloading dell’operatore di assegnazione . . . . . . . . . . . . . . . . . 300<br />

5.17.4 Overloading delle procedure intrinseche . . . . . . . . . . . . . . . . . . . 303<br />

5.18 Visibilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303<br />

5.18.1 Visibilità di una etichetta . . . . . . . . . . . . . . . . . . . . . . . . . . 304<br />

5.18.2 Visibilità di un nome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

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

Saved successfully!

Ooh no, something went wrong!