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.

6.6 Procedure intrinseche per gli array 335<br />

Nel caso, invece, in cui DIM venga specificato, si ha:<br />

• Se ARRAY ha rango uno, il valore della funzione è pari a SUM(ARRAY[,MASK]).<br />

• L’array risultante ha rango pari a quello di ARRAY diminuito di un’unità.<br />

Esempi:<br />

SUM((/2,3,4/)) restituisce valore9(tale essendo il risultato della somma: 2+3+4).<br />

SUM((/2,3,4/),DIM=1) restituisce, chiaramente, lo stesso valore.<br />

Sia a l’array:<br />

1 4 7 2<br />

2 3 5 1<br />

SUM(a,DIM=1) restituisce il valore (/3,7,12,3/), che è la somma degli elementi di<br />

ciascuna colonna (ossia 1+2, nella prima colonna, 4+3 nella seconda colonna, e così<br />

via).<br />

SUM(a,DIM=2) fornisce come risultato l’array (/14,11/), che è la coppia formata<br />

dalla somma degli elementi di ciascuna riga (ossia 1+2+7+2, nella prima riga,<br />

2+3+5+1, nella seconda riga).<br />

6.6.2 Procedure di interrogazione<br />

ALLOCATED(ARRAY)<br />

Indica se l’allocatable array ARRAY risulti o meno allocato. <strong>Il</strong> risultato è uno scalare di tipo<br />

LOGICAL avente valore .TRUE. se lo stato di allocazione di ARRAY è correntemente allocato,<br />

.FALSE. se esso è non allocato oppure è indefinito.<br />

Un esempio di utilizzo della funzione intrinseca ALLOCATE è fornito dal seguente frammento<br />

di programma:<br />

REAL, ALLOCATABLE, DIMENSION (:,:,:) :: arr<br />

...<br />

PRINT*, ALLOCATED(arr) ! stampa il valore .FALSE.<br />

ALLOCATE(arr(12,15,20))<br />

PRINT*, ALLOCATED(arr) ! stampa il valore .TRUE.<br />

LBOUND(ARRAY[,DIM])<br />

Restituisce un array monodimensionale formato dai limiti inferiori di tutte le dimensioni di<br />

ARRAY, oppure, se DIM è presente, uno scalare avente come valore il limite inferiore relativo alla<br />

dimensione specificata. In entrambi i casi il risultato è di tipo INTEGER.

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

Saved successfully!

Ooh no, something went wrong!