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.9.3 Funzioni numeriche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73<br />

1.9.4 Funzioni di interrogazione . . . . . . . . . . . . . . . . . . . . . . . . . . 76<br />

1.9.5 Funzioni per il trattamento dei caratteri . . . . . . . . . . . . . . . . . . 83<br />

2 Istruzioni di controllo 89<br />

2.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89<br />

2.2 Istruzioni di diramazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <strong>90</strong><br />

2.2.1 Istruzione e costrutto IF . . . . . . . . . . . . . . . . . . . . . . . . . . . <strong>90</strong><br />

2.2.2 <strong>Il</strong> costrutto SELECT CASE . . . . . . . . . . . . . . . . . . . . . . . . . . . <strong>95</strong><br />

2.2.3 L’istruzione GOTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99<br />

2.3 Istruzioni di ripetizione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100<br />

2.3.1 <strong>Il</strong> ciclo a conteggio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100<br />

2.3.2 <strong>Il</strong> ciclo a condizione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107<br />

2.3.3 Cicli e istruzioni di diramazione innestati . . . . . . . . . . . . . . . . . . 114<br />

2.3.4 Osservazioni sull’uso dei cicli . . . . . . . . . . . . . . . . . . . . . . . . . 117<br />

3 Array 123<br />

3.1 Variabili dimensionate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123<br />

3.2 Dichiarazione di un array. Terminologia . . . . . . . . . . . . . . . . . . . . . . . 124<br />

3.3 Uso degli array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127<br />

3.3.1 Elementi di array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127<br />

3.3.2 Costruttore di array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128<br />

3.3.3 Inizializzazione degli elementi di un array . . . . . . . . . . . . . . . . . . 129<br />

3.3.4 Indici fuori range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131<br />

3.4 Operazioni globali su array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131<br />

3.5 Array di ampiezza nulla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134<br />

3.6 Sezioni di array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135<br />

3.7 Ordinamento degli elementi di array . . . . . . . . . . . . . . . . . . . . . . . . . 139<br />

3.8 Ottimizzazione delle operazioni con array . . . . . . . . . . . . . . . . . . . . . . 139<br />

3.8.1 Loop interchange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140<br />

3.8.2 Loop skewing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143<br />

3.8.3 Loop unswitching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144<br />

3.8.4 Loop unrolling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145<br />

3.8.5 Loop blocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148<br />

3.8.6 Cycle shrinking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149<br />

3.8.7 Loop fission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149<br />

3.8.8 Loop fusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151<br />

3.8.9 Loop pushing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152<br />

3.8.10 Loop peeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153<br />

3.8.11 Loop reversal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154<br />

3.8.12 Loop normalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157<br />

3.9 Array e istruzioni di controllo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158<br />

3.10 Operazioni di I/O con array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

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

Saved successfully!

Ooh no, something went wrong!