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.

296 Unità di Programma<br />

==========<br />

0.3233 0.1567 0.1286<br />

0.1811 -0.2140 0.2437<br />

0.2361 -0.4603 -0.4364<br />

Vettore c:<br />

==========<br />

0.3305 0.7259 0.3565<br />

Matrice Prodotto A*B:<br />

=====================<br />

2.5441 0.2664 0.4115<br />

1.8716 -1.7658 1.1426<br />

1.8496 -2.9707 -2.2376<br />

Vettore Prodotto A*c:<br />

=====================<br />

3.1059 5.5060 3.3004<br />

Matrice Rapporto c/A:<br />

=====================<br />

0.0337 0.1004 0.0339<br />

Inversa di A:<br />

=============<br />

0.1579 -0.0092 -0.0331<br />

-0.0297 0.1663 -0.02<strong>95</strong><br />

-0.0085 -0.0355 0.1753<br />

L’unico scotto che bisogna pagare in questo caso è quello di lavorare con array di tipo matrix<br />

piuttosto che con array di tipo REAL il che rende le operazioni di assegnazione un pò più<br />

pesanti dal punto di vista formale. Nulla vieta, tuttavia, di estendere anche il significato<br />

dell’operatore di assegnazione al fine di poter lavorare con array di tipo matrix esattamente<br />

come si lavorerebbe con comuni array reali. Come ciò possa essere fatto sarà chiarito nel<br />

prosieguo.<br />

5.17.2 Definizione di nuovi operatori<br />

Così come è possibile estendere il significato di operatori già esistenti, in <strong>Fortran</strong> è anche<br />

possibile definire nuovi operatori e ciò è particolarmente utile quando si usano tipi di dati<br />

non predefiniti. Tali operatori definiti dall’utente (user defined) devono avere un punto (”.”)<br />

all’inizio e alla fine del nome ed il loro effetto può essere definito attraverso una function avente<br />

uno o due argomenti non opzionali con l’attributo INTENT(IN). Ad esempio, negli esempi

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

Saved successfully!

Ooh no, something went wrong!