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.

28 Tipi ed espressioni<br />

1.5 Istruzioni di assegnazione ed espressioni<br />

La più semplice fra le istruzioni esecutive del <strong>Fortran</strong> è l’istruzione di assegnazione, la cui<br />

sintassi è la seguente:<br />

variabile = espressione<br />

con il significato che il risultato di espressione viene immagazzinato nella locazione di memoria<br />

assegnata a variabile.<br />

L’esecuzione dell’istruzione produce, nell’ordine:<br />

• il calcolo di espressione, il cui risultato viene valutato secondo le regole proprie del tipo<br />

dell’espressione;<br />

• la conversione di tipo, se il tipo di espressione non coincide con quello di variabile<br />

(questa conversione automatica è limitata ai soli casi discussi nel seguito);<br />

• l’immagazzinamento del risultato nella locazione di memoria relativa a variabile .<br />

Una espressione <strong>Fortran</strong> è una qualunque combinazione di operandi ottenuta tramite operatori<br />

e parentesi tonde; l’esecuzione delle operazioni indicate dagli operatori dà luogo ad un<br />

risultato detto valore dell’espressione. Si osservi che anche un singolo operando costituisce una<br />

espressione.<br />

Dunque l’istruzione di assegnazione calcola il valore dell’espressione a destra del segno di<br />

uguale e assegna tale valore alla variabile specificata a sinistra del segno di uguale. Si noti<br />

che il simbolo ”=” non indica uguaglianza secondo il significato comune del termine. Piuttosto<br />

un’istruzione di assegnazione va interpretata come: ”registra il valore di espressione nella<br />

locazione di memoria di variabile ”. E’ solo in tal modo che assumono un senso istruzioni di<br />

”aggiornamento” del tipo seguente:<br />

INTEGER :: count=0<br />

count = count+1<br />

in cui il significato dell’istruzione di assegnazione è quello di incrementare di un’unità il valore<br />

della variabile intera count (precedentemente inizializzata a zero) e di immagazzinare il nuovo<br />

valore nella locazione di memoria riservata alla stessa variabile count.<br />

Si faccia, poi, attenzione al fatto che ogni qualvolta a variabile viene assegnato un nuovo<br />

valore, il precedente contenuto delle locazioni di memoria corrispondenti a variabile viene<br />

perduto definitivamente.<br />

<strong>Il</strong> seguente blocco di istruzioni fornisce un ulteriore, semplice, esempio di istruzioni di assegnazione.<br />

Esso ha lo scopo di ”invertire” il contenuto delle variabili a e b facendo uso della<br />

variabile ”di appoggio” c:<br />

INTEGER :: a=3, b=5, c<br />

c = a<br />

a = b<br />

b = c

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

Saved successfully!

Ooh no, something went wrong!