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.

38 Tipi ed espressioni<br />

x × 2 x + x<br />

x/2 0.5 × x<br />

x 2 x × x<br />

x c.5 x c × √ x<br />

(a, 0) + (b, 0) (a + b, 0)<br />

Una delle applicazioni più importanti di questa tecnica è proprio la possibilità di convertire<br />

l’elevamento a potenza in comuni moltiplicazioni, come ad esempio nella valutazione di polinomi<br />

sfruttando la seguente identità:<br />

anx n + an−1x n−1 + ... + a1x + a0 = (anx n−1 + an−1x n−2 + ... + a1) x + a0<br />

Un’altra operazione assai importante che ha lo scopo di ridurre la complessità di calcolo di<br />

un codice numerico è rappresentata dalla possibilità di semplificare le espressioni aritmetiche<br />

applicando ad esse opportune regole algebriche. In tal senso, una classe di semplificazioni<br />

particolarmente utili si basa sulle identità algebriche. Ad esempio, l’istruzione:<br />

x = (y*1.0)/1.<br />

può essere efficacemente trasformata in<br />

x = y<br />

In generale, dunque, è buona norma individuare all’interno del codice delle espressioni ”banali”<br />

e sostituirle con i corrispondenti valori. Di seguito si elencano alcune delle più comuni identità<br />

aritmetiche:<br />

x × 0 = 0<br />

0/x = 0<br />

x × 1 = x<br />

x + 0 = x<br />

x/1 = x<br />

E’, comunque, da osservare che la maggior parte dei compilatori è in grado di individuare<br />

espressioni del tipo precedente e normalmente opera automaticamente questo tipo di semplificazioni.<br />

1.5.2 Espressioni di caratteri<br />

La manipolazione degli oggetti di tipo CHARACTER può essere svolta a mezzo di una istruzione<br />

di assegnazione il cui formato è:<br />

variabile = espressione_di_caratteri<br />

con il significato che l’istruzione di assegnazione calcola il valore diespressione_di_caratteri<br />

alla destra del segno di uguale ed assegna tale valore a variabile alla sinistra dell’uguale.

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

Saved successfully!

Ooh no, something went wrong!