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.

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!