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.

3.2 Dichiarazione di un array. Terminologia 125<br />

CHARACTER(LEN=20), DIMENSION(50) :: cognome<br />

Un modo alternativo per dichiarare un array è di ”accoppiarne” le dimensioni direttamente<br />

al nome, esemplificativamente:<br />

REAL :: array1(10), array2(50), array3(50,50)<br />

oppure, di sostituire l’attributo DIMENSION con la corrispondente istruzione:<br />

REAL :: array1, array2, array3<br />

DIMENSION array1(10), array2(50), array3(50,50)<br />

Si tratta, comunque, di due forme di dichiarazione abbastanza ”arcaiche” per cui se ne sconsiglia<br />

vivamente l’adozione, favorendo in tal modo l’impiego di istruzioni di dichiarazione separate<br />

per array di dimensioni differenti.<br />

Gli interi usati come limiti delle estensioni lungo le dimensioni di un array possono essere<br />

definiti come costanti con nome, mediante l’attributo PARAMETER, come nel seguente esempio:<br />

INTEGER, PARAMETER :: max_size=100<br />

LOGICAL, DIMENSION(1:max_size) :: answer<br />

...<br />

INTEGER, PARAMETER :: lower_bound=-10<br />

INTEGER, PARAMETER :: upper_bound=10<br />

REAL, DIMENSION(lower_bound:upper_bound) :: score, mark<br />

In questo caso, il range dell’array logico answer è compreso tra 1 e 100, mentre il range degli<br />

array reali score e mark spazia da -10 a +10.<br />

Per default, gli indici di un array partono sempre da1, tuttavia, come si sarà già intuito dagli<br />

esempi precedenti, si può specificare un intervallo differente una volta forniti i limiti (bound)<br />

inferiore e superiore. Ad esempio, le seguenti istruzioni:<br />

REAL, DIMENSION(50) :: w<br />

REAL, DIMENSION(5:54) :: x<br />

LOGICAL, DIMENSION(50) :: y<br />

INTEGER, DIMENSION(11:60) :: z<br />

dichiarano quattro array monodimensionali (w, x, y e z) ciascuno contenente 50 elementi.<br />

In generale, il numero di elementi di un array in una data dimensione può essere determinato<br />

mediante la seguente espressione:<br />

estensione = limite_superiore − limite_inferiore + 1<br />

<strong>Il</strong> <strong>Fortran</strong> <strong>90</strong>/<strong>95</strong> consente ad un array di avere fino a sette indici, ognuno dei quali relativo<br />

ad una dimensione dell’array. Le dimensioni di un array devono essere specificate a mezzo<br />

dell’attributo DIMENSION. Gli array aventi più di una dimensione sono particolarmente utili per<br />

rappresentare dati organizzati in forma tabellare.

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

Saved successfully!

Ooh no, something went wrong!