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.

330 Array Processing<br />

ANY((/.FALSE.,.TRUE.,.FALSE./)) restituisce il valore .TRUE. poiché un elemento<br />

di MASK (per l’esattezza, il secondo) è .TRUE.<br />

Siano a la matrice:<br />

1 5 7<br />

3 6 8<br />

e b la matrice:<br />

0 5 7<br />

2 6 9<br />

ANY(a==b,DIM=1) verifica se qualche elemento di una qualsiasi colonna di a sia<br />

uguale al corrispondente elemento di b. <strong>Il</strong> risultato della funzione sarà, pertanto:<br />

(/.FALSE.,.TRUE.,.TRUE./)<br />

poiché i due array hanno elementi comuni soltanto nella seconda e nella terza colonna.<br />

ANY(a==b,DIM=2) verifica se qualche elemento di una qualsiasi riga di a sia uguale<br />

al elemento di b. <strong>Il</strong> risultato della funzione sarà, pertanto:<br />

(/.TRUE.,.TRUE./).<br />

in quanto le prime righe hanno in comune gli elementi 5 e 7, le seconde l’elemento<br />

6.<br />

COUNT(MASK[,DIM])<br />

Questa funzione conta il numero di ricorrenze del valore .TRUE. nell’array logico MASK. Se viene<br />

specificato l’argomento opzionale DIM, la suddetta operazione viene effettuata esclusivamente<br />

nella dimensione specificata. Quando specificato, il parametro DIM deve essere uno scalare di<br />

tipo INTEGER con valore compreso tra 1 ed n , essendo n il rango di MASK.<br />

<strong>Il</strong> risultato di COUNT è uno scalare (se l’argomento DIM è omesso o se MASK ha rango unitario)<br />

oppure un array (se DIM è presente) di tipo LOGICAL. In particolare, un risultato array<br />

ha sempre lo stesso tipo e gli stessi parametri di kind di MASK, e rango pari a quello di MASK<br />

diminuito di un’unità.<br />

Esempi:<br />

COUNT((/.TRUE.,.FALSE.,.TRUE./)) restituisce il valore 2 perché tanti sono gli<br />

elementi .TRUE. dell’array argomento.<br />

COUNT((/.TRUE.,.TRUE.,.TRUE./)) restituisce il valore 3 perché tutti e tre gli

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

Saved successfully!

Ooh no, something went wrong!