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.

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!