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.8 Tipi di dati derivati 65<br />

semplicemente nel nome del tipo derivato seguito dai valori delle componenti elencate nell’ordine<br />

in cui sono state dichiarate nella definizione del tipo. Come ulteriore esempio, definito il tipo<br />

persona al modo seguente:<br />

TYPE persona<br />

CHARACTER(LEN=15) :: nome<br />

CHARACTER(LEN=15) :: cognome<br />

INTEGER :: eta<br />

CHARACTER :: sesso<br />

CHARACTER(LEN=15) :: telefono<br />

END TYPE persona<br />

e dichiarati due oggetti di tipo persona:<br />

TYPE(persona) :: pers1, pers2<br />

queste due entità possono essere inizializzate come segue:<br />

pers1 = persona(’Luke’,’Skywalker’,31,’M’,’323-6439’)<br />

pers2 = persona(’Princess’,’Leila’,24,’F’,’332-3060’)<br />

L’altra modalità illustrata per l’assegnazione di un valore ad un oggetto di tipo derivato è<br />

quella specificata a mezzo di un selettore di componente, che consiste, come visto, nel nome<br />

della variabile seguito dal simbolo di percentuale seguito a sua volta dal nome del componente.<br />

Ad esempio, volendo modificare l’età di pers1 si può usare l’istruzione:<br />

pers1%eta = 28<br />

<strong>Il</strong> prossimo esempio ha lo scopo di illustrare ulteriormente entrambe le modalità si assegnazione:<br />

PROGRAM assegn_strut<br />

! Demo assegnazione di struttura<br />

IMPLICIT NONE<br />

INTEGER, PARAMETER :: lunghezza_nome = 18<br />

TYPE :: isotopo ! Definizione di tipo derivato<br />

INTEGER :: numero_di_massa<br />

REAL :: abbondanza<br />

END TYPE isotopo<br />

TYPE :: elemento ! Definizione di tipo derivato<br />

CHARACTER (LEN=lunghezza_nome) :: nome_elemento<br />

CHARACTER (LEN=3) :: simbolo<br />

INTEGER :: numero_atomico<br />

REAL :: massa_atomica<br />

TYPE (isotopo) :: isotopo_principale ! Tipo definito in precedenza<br />

END TYPE elemento<br />

TYPE(elemento) :: Carbonio, Temp_E ! Dichiarazione di tipo

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

Saved successfully!

Ooh no, something went wrong!