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.

1.5 Istruzioni di assegnazione ed espressioni 39<br />

L’espressione_di_caratteri può essere una qualsiasi combinazione valida di costanti,<br />

variabili e operatori di caratteri. Un operatore di caratteri è un particolare operatore che<br />

elabora dei caratteri e fornisce come risultato ancora dei caratteri. I principali tipi di operatori<br />

di caratteri sono le specifiche di sottostringhe e l’operatore di concatenazione.<br />

L’assegnazione del valore di un’espressione ad una variabile di caratteri merita un’osservazione.<br />

Se l’espressione di caratteri è più corta della variabile alla quale deve essere assegnata,<br />

la parte restante della variabile viene riempita con spazi vuoti (blank). Ad esempio, le seguenti<br />

espressioni registrano il valore ”casa**” nella variabile parola (con il simbolo ”*” si è indicato<br />

uno spazio bianco):<br />

CHARACTER(LEN=6) :: parola<br />

parola = "casa"<br />

Viceversa, se l’espressione di caratteri è più lunga della variabile alla quale deve essere assegnata,<br />

la parte in eccesso della variabile viene ”troncata”. Ad esempio, le seguenti istruzioni registrano<br />

il valore ”case” nella variabile parola:<br />

CHARACTER(LEN=4) :: parola<br />

parola = "casetta"<br />

Specifiche di sottostringa<br />

Una specifica di sottostringa seleziona una ”porzione” di una variabile di caratteri e tratta questa<br />

variabile come se fosse una variabile stringa indipendente. La porzione di stringa selezionata è<br />

chiamata sottostringa.<br />

Una sottostringa viene selezionata (estratta) ”appendendo” al nome della variabile stringa<br />

uno specificatore di lunghezza. Quest’ultimo ha la forma:<br />

(inizio:fine)<br />

in cui le costanti intereinizio efine indicano la posizione del primo e dell’ultimo carattere da<br />

estrarre. Pertanto, ad esempio, lo specificatore di lunghezza ”(3:5)” indica che la sottostringa<br />

consiste del terzo, del quarto e del quinto carattere della stringa ”madre”.<br />

Si noti che se la costante inizio viene omessa, essa è assunta per default pari ad uno; se,<br />

invece, è omessa la costante fine il suo valore è assunto pari alla lunghezza della stringa; se,<br />

infine, inizio risulta maggiore di fine viene generata una stringa nulla.<br />

Ad esempio, data la stringa così dichiarata:<br />

CHARACTER(LEN=8) :: stringa="abcdefgh"<br />

possibili esempi di sottostringa sono:<br />

stringa(2:4) ! "bcd"<br />

stringa(3:7) ! "cdefg"<br />

stringa(:4) ! "abcd"<br />

stringa(7:) ! "gh"<br />

stringa(5:5) ! "e"<br />

stringa(6:3) ! Stringa nulla

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

Saved successfully!

Ooh no, something went wrong!