next up previous

 

Struttura di base del programma


  • Nomi di programmi e subprogram
  • Per l'attribuzione dei nomi possono essere usati caratteri fino ad un massimo di 31 tra lettere, cifre e underscore;le parentesi quadre([]) sono usate per introdurre informazioni ausiliarie. La sintassi dell'istruzione program e end è la seguente:

    PROGRAM prova ............ ............ ............ END[PROGRAM[prova]] Il fortran 90 non distingue tra lettere maiuscole e minuscole (cioè non è case sensitive) quindi le dichiarazioni seguenti sono errate: real :: a,A e producono un errore in fase di compilazione.
  • Struttura
  • Un programma in fortran 90 è caratterizzato dalla seguente struttura: 1)Sezione dichiarativa E' posizionata all'inizio e contiene istruzioni non eseguibili quali: •nome del programma preceduto dal testo program; •dichiarazione delle variabili. 2)Sezione esecutiva Rappresenta il corpo del programma e contiene le istruzioni eseguibili necessarie per effettuare le operazioni per le quali il programma stesso è stato ideato. 3)Sezione conclusiva Contiene le istruzioni che interrompono il programma quali: •stop che interrompe il programma; •end program che dice al compilatore che non c'è più nulla da compilare.
  • Caratteristiche fondamentali
  • E' permesso il codice sorgente nel formato libero detto free form. Supporta anche il vecchio formato del fortran 77 detto fixed form. Nel formato libero le istruzione possono cominciare in qualsiasi punto della colonna. Le righe si possono estendere fino a 132 caratteri. Più di un'istruzione può essere disposta su una riga. Un punto e virgola è usato come il delimiter per separare le istruzione. Le osservazioni in linea sono permesse. Queste osservazioni cominciano con un punto di esclamazione e si estendono fino all' estremità della riga. Le istruzione di continuazione sono indicate tramite la disposizione d'un segno & (&) come ultimo carattere non in bianco nella riga che è continuata. Fino a 39 continuazioni sono permesse. I nomi delle variabili possono raggiungere fino a 31 carattere.I caratteri validi includono tutte le lettere, cifre ed il simbolo del sottolineamento (_) il primo carattere d'un nome di variabile deve essere una lettera. Il fortran 90 è case sensitive ma le istruzioni possono essere digitate come si vuole, per rendere il codice più leggibile è consigliato di indicare in grande i caratteri relativi alle istruzioni.

  • Dichiarazioni
  • Il comando IMPLICIT NONE è permesso. Una volta invocato, le variabili di programma DEVONO essere specificate esplicitamente. Le istruzione modificate di specifica del tipo possono essere usate per inizializzare le variabili o i parametri,per esempio:

    Real :: Di = 0

    integer :: Num_Months = 12

    Real,Parameter :: Pi = 3,1415927

    Di dichiara una variabile reale con valori iniziali 0., Num_Months una variabile numero intero con il valore iniziale 12 e pi un parametro reale con il valore 3,1415927. Il separatore :: è richiesto in un'istruzione di specifica del tipo ogni volta che è usato per inizializzare una variabile o per dichiarare un attributo speciale (quale il PARAMETRO). Può essere omesso in altri casi. Per esempio, per dichiarare Area_circle come variabile reale, possiamo dire:

    Area_circle Real

    o, equivalentemente

    Real :: Area_circle

    La seconda forma è preferita per uno stile di programmazione uniforme. La precisione d'un reale, d'un numero intero, d'un complesso,o d'una variabile logica può essere specificata usando un parametro del tipo KIND. Per esempio, per dichiarare una variabile A come un numero reale con almeno 10 cifre decimali di precisione con una gamma compresa tra -10^34 a 10^34, possiamo fare quanto segue:

    REAL(KIND = SELECTED_REAL_KIND(10,34)) :: A

    Se il processore che state usando non può sostenere una variabile con questa specifica di tipo, un errore compile-time ne risulterà. Per dichiarare una variabile reale equivalente a quella in DOPPIA PRECISIONE del fortran 77 ,dobbiamo fare semplicemente questo:

    INTEGER, PARAMETER :: DP = SELECTED_REAL_KIND(14)

    REAL(KIND = DP):: A

    Ciò dichiara la variabile A come reale e con almeno 14 cifre decimali . Il ;(punto e virgola) è usato come separatore in modo che diverse diverse istruzioni possano essere collocate sulla stessa riga.E' però opportuno precisare che il posizionamento di più istruzioni su di una singola riga produce un codice poco leggibile, è quindi conveniente utilizzare tale applicazione solo per istruzioni semplici. Ad esempio tre semplici istruzioni di assegnazione possono essere scritte come: a=1;b=2;c=3