fortran 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/programma/basi_fortran90.pdf · basi del...
TRANSCRIPT
Basi del FORTRAN 90
FORTRAN 90
Fondamenti di Informatica T (A-K)
AA 2012-2013
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Primo programma: area del cerchio
PROGRAM c e r c h i oIMPLICIT NONEREAL , PARAMETER : : p i = 3.14159REAL : : r , a r ear = 1 .a r ea = p i ∗ r ∗ rPRINT∗ , a r eaEND PROGRAM
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Basi del FORTRAN 90
Ogni programma FORTRAN e contenuto in un file di testo.
Ogni programma e costituito da una sequenza di istruzioni. Ingenere, ogni riga contiene un’istruzione.
Le istruzioni sono codificate utilizzando delle regole precise(regole di sintassi)
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Basi del FORTRAN 90
Ogni programma FORTRAN e contenuto in un file di testo.
Ogni programma e costituito da una sequenza di istruzioni. Ingenere, ogni riga contiene un’istruzione.
Le istruzioni sono codificate utilizzando delle regole precise(regole di sintassi)
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Basi del FORTRAN 90
Ogni programma FORTRAN e contenuto in un file di testo.
Ogni programma e costituito da una sequenza di istruzioni. Ingenere, ogni riga contiene un’istruzione.
Le istruzioni sono codificate utilizzando delle regole precise(regole di sintassi)
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Struttura di un programma
Ogni programma FORTRAN deve contenere uno e un soloprogramma principale
Oltre al programma principale, ci possono essere (opzionale)un certo numero di altre unita (moduli, funzioni, subroutine).
Il programma principale e i sottoprogrammi devono essereunivocamente identificati da un nome
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Struttura di un programma
Ogni programma FORTRAN deve contenere uno e un soloprogramma principale
Oltre al programma principale, ci possono essere (opzionale)un certo numero di altre unita (moduli, funzioni, subroutine).
Il programma principale e i sottoprogrammi devono essereunivocamente identificati da un nome
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Struttura di un programma
Ogni programma FORTRAN deve contenere uno e un soloprogramma principale
Oltre al programma principale, ci possono essere (opzionale)un certo numero di altre unita (moduli, funzioni, subroutine).
Il programma principale e i sottoprogrammi devono essereunivocamente identificati da un nome
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Caratteristiche sintattiche
Il FORTRAN 90 consente di scrivere in formato libero (finoad un massimo di 132 caratteri in una stessa riga)
Continuazione: qualora sia necessario, un’istruzione puocontinuare nella riga successiva (carattere &)
Commento: il carattere ’ !’ consente di inserire dei commentinel programma
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Caratteristiche sintattiche
Il FORTRAN 90 consente di scrivere in formato libero (finoad un massimo di 132 caratteri in una stessa riga)
Continuazione: qualora sia necessario, un’istruzione puocontinuare nella riga successiva (carattere &)
Commento: il carattere ’ !’ consente di inserire dei commentinel programma
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Caratteristiche sintattiche
Il FORTRAN 90 consente di scrivere in formato libero (finoad un massimo di 132 caratteri in una stessa riga)
Continuazione: qualora sia necessario, un’istruzione puocontinuare nella riga successiva (carattere &)
Commento: il carattere ’ !’ consente di inserire dei commentinel programma
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Nomi di programmi, sottoprogrammi e variabili
I nomi consistono di un massimo di 31 caratteri
I caratteri possono essere numeri o lettere. Oltre ad essi, sipuo usare (underscore)
Il primo carattere DEVE essere una lettera
Gli elementi e le istruzioni del FORTRAN non possono essereusati come nomi
Il nome di un programma o di un sottoprogramma non puoessere usato come nome di una variabile
Il FORTRAN non fa distinzione fra lettere maiuscole eminuscole
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Nomi di programmi, sottoprogrammi e variabili
I nomi consistono di un massimo di 31 caratteri
I caratteri possono essere numeri o lettere. Oltre ad essi, sipuo usare (underscore)
Il primo carattere DEVE essere una lettera
Gli elementi e le istruzioni del FORTRAN non possono essereusati come nomi
Il nome di un programma o di un sottoprogramma non puoessere usato come nome di una variabile
Il FORTRAN non fa distinzione fra lettere maiuscole eminuscole
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Nomi di programmi, sottoprogrammi e variabili
I nomi consistono di un massimo di 31 caratteri
I caratteri possono essere numeri o lettere. Oltre ad essi, sipuo usare (underscore)
Il primo carattere DEVE essere una lettera
Gli elementi e le istruzioni del FORTRAN non possono essereusati come nomi
Il nome di un programma o di un sottoprogramma non puoessere usato come nome di una variabile
Il FORTRAN non fa distinzione fra lettere maiuscole eminuscole
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Nomi di programmi, sottoprogrammi e variabili
I nomi consistono di un massimo di 31 caratteri
I caratteri possono essere numeri o lettere. Oltre ad essi, sipuo usare (underscore)
Il primo carattere DEVE essere una lettera
Gli elementi e le istruzioni del FORTRAN non possono essereusati come nomi
Il nome di un programma o di un sottoprogramma non puoessere usato come nome di una variabile
Il FORTRAN non fa distinzione fra lettere maiuscole eminuscole
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Nomi di programmi, sottoprogrammi e variabili
I nomi consistono di un massimo di 31 caratteri
I caratteri possono essere numeri o lettere. Oltre ad essi, sipuo usare (underscore)
Il primo carattere DEVE essere una lettera
Gli elementi e le istruzioni del FORTRAN non possono essereusati come nomi
Il nome di un programma o di un sottoprogramma non puoessere usato come nome di una variabile
Il FORTRAN non fa distinzione fra lettere maiuscole eminuscole
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Nomi di programmi, sottoprogrammi e variabili
I nomi consistono di un massimo di 31 caratteri
I caratteri possono essere numeri o lettere. Oltre ad essi, sipuo usare (underscore)
Il primo carattere DEVE essere una lettera
Gli elementi e le istruzioni del FORTRAN non possono essereusati come nomi
Il nome di un programma o di un sottoprogramma non puoessere usato come nome di una variabile
Il FORTRAN non fa distinzione fra lettere maiuscole eminuscole
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Ordine delle istruzioni
Il FORTRAN ha delle regole molto rigide sulla struttura delprogramma e l’ordine delle istruzioni
Esempio di validita generalePROGRAM nomedichiarazioni variabiliistruzioniEND PROGRAM
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Ordine delle istruzioni
Il FORTRAN ha delle regole molto rigide sulla struttura delprogramma e l’ordine delle istruzioni
Esempio di validita generalePROGRAM nomedichiarazioni variabiliistruzioniEND PROGRAM
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Tipi e dichiarazioni
Le dichiarazioni stabiliscono il tipo della variabile
I tipi di variabile sono i seguenti (nota: una lista di variabili euna sequanza di nomi separati da una virgola):
Stringa di caratteriCHARACTER :: lista di variabiliVariabile logica (o booleana), cioe variabile che puo’ esserevera o falsaLOGICAL :: lista di variabiliNumero reale in singola precisioneREAL :: lista di variabiliNumero reale in doppia precisioneREAL*8 :: lista di variabiliDOUBLE PRECISION :: lista di variabiliNumero interoINTEGER :: lista di variabili
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Tipi e dichiarazioni
Le dichiarazioni stabiliscono il tipo della variabile
I tipi di variabile sono i seguenti (nota: una lista di variabili euna sequanza di nomi separati da una virgola):
Stringa di caratteriCHARACTER :: lista di variabiliVariabile logica (o booleana), cioe variabile che puo’ esserevera o falsaLOGICAL :: lista di variabiliNumero reale in singola precisioneREAL :: lista di variabiliNumero reale in doppia precisioneREAL*8 :: lista di variabiliDOUBLE PRECISION :: lista di variabiliNumero interoINTEGER :: lista di variabili
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Tipi e dichiarazioni
Le dichiarazioni stabiliscono il tipo della variabile
I tipi di variabile sono i seguenti (nota: una lista di variabili euna sequanza di nomi separati da una virgola):
Stringa di caratteriCHARACTER :: lista di variabili
Variabile logica (o booleana), cioe variabile che puo’ esserevera o falsaLOGICAL :: lista di variabiliNumero reale in singola precisioneREAL :: lista di variabiliNumero reale in doppia precisioneREAL*8 :: lista di variabiliDOUBLE PRECISION :: lista di variabiliNumero interoINTEGER :: lista di variabili
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Tipi e dichiarazioni
Le dichiarazioni stabiliscono il tipo della variabile
I tipi di variabile sono i seguenti (nota: una lista di variabili euna sequanza di nomi separati da una virgola):
Stringa di caratteriCHARACTER :: lista di variabiliVariabile logica (o booleana), cioe variabile che puo’ esserevera o falsaLOGICAL :: lista di variabili
Numero reale in singola precisioneREAL :: lista di variabiliNumero reale in doppia precisioneREAL*8 :: lista di variabiliDOUBLE PRECISION :: lista di variabiliNumero interoINTEGER :: lista di variabili
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Tipi e dichiarazioni
Le dichiarazioni stabiliscono il tipo della variabile
I tipi di variabile sono i seguenti (nota: una lista di variabili euna sequanza di nomi separati da una virgola):
Stringa di caratteriCHARACTER :: lista di variabiliVariabile logica (o booleana), cioe variabile che puo’ esserevera o falsaLOGICAL :: lista di variabiliNumero reale in singola precisioneREAL :: lista di variabili
Numero reale in doppia precisioneREAL*8 :: lista di variabiliDOUBLE PRECISION :: lista di variabiliNumero interoINTEGER :: lista di variabili
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Tipi e dichiarazioni
Le dichiarazioni stabiliscono il tipo della variabile
I tipi di variabile sono i seguenti (nota: una lista di variabili euna sequanza di nomi separati da una virgola):
Stringa di caratteriCHARACTER :: lista di variabiliVariabile logica (o booleana), cioe variabile che puo’ esserevera o falsaLOGICAL :: lista di variabiliNumero reale in singola precisioneREAL :: lista di variabiliNumero reale in doppia precisioneREAL*8 :: lista di variabiliDOUBLE PRECISION :: lista di variabili
Numero interoINTEGER :: lista di variabili
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Tipi e dichiarazioni
Le dichiarazioni stabiliscono il tipo della variabile
I tipi di variabile sono i seguenti (nota: una lista di variabili euna sequanza di nomi separati da una virgola):
Stringa di caratteriCHARACTER :: lista di variabiliVariabile logica (o booleana), cioe variabile che puo’ esserevera o falsaLOGICAL :: lista di variabiliNumero reale in singola precisioneREAL :: lista di variabiliNumero reale in doppia precisioneREAL*8 :: lista di variabiliDOUBLE PRECISION :: lista di variabiliNumero interoINTEGER :: lista di variabili
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Dichiarazione di una costante
L’istruzione PARAMETER permette di definire una costante
Esempio di utilizzo:
REAL, PARAMETER :: pi = 3.14159
Esercizio: calcolo dell’area del cerchio
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Dichiarazione di una costante
L’istruzione PARAMETER permette di definire una costante
Esempio di utilizzo:
REAL, PARAMETER :: pi = 3.14159
Esercizio: calcolo dell’area del cerchio
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Dichiarazione di una costante
L’istruzione PARAMETER permette di definire una costante
Esempio di utilizzo:
REAL, PARAMETER :: pi = 3.14159
Esercizio: calcolo dell’area del cerchio
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Dichiarazione di una costante
L’istruzione PARAMETER permette di definire una costante
Esempio di utilizzo:
REAL, PARAMETER :: pi = 3.14159
Esercizio: calcolo dell’area del cerchio
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Primo programma: area del cerchio
PROGRAM c e r c h i oIMPLICIT NONEREAL , PARAMETER : : p i = 3.14159REAL : : r , a r ear = 1 .a r ea = p i ∗ r ∗ rPRINT∗ , a r eaEND PROGRAM
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Dichiarazioni implicite
Ogni variabile non esplicitamente dichiarata, assume per ilFORTRAN
tipo intero se il suo nome inizia con un carattere compreso traI-Ntipo reale altrimenti
Utilizzare questo tipo di dichiarazione implicita e formalmentecorretto ma molto pericoloso
E altamente consigliato utilizzare sempre l’istruzioneIMPLICIT NONE. Usare questa istruzione impone alprogrammatore di dichiarare sempre ogni variabile utilizzata.
L’istruzione IMPLICIT NONE va inserita all’inizio delprogramma o del sottoprogramma, prima delle dichiarazioni divariabili
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Dichiarazioni implicite
Ogni variabile non esplicitamente dichiarata, assume per ilFORTRAN
tipo intero se il suo nome inizia con un carattere compreso traI-N
tipo reale altrimenti
Utilizzare questo tipo di dichiarazione implicita e formalmentecorretto ma molto pericoloso
E altamente consigliato utilizzare sempre l’istruzioneIMPLICIT NONE. Usare questa istruzione impone alprogrammatore di dichiarare sempre ogni variabile utilizzata.
L’istruzione IMPLICIT NONE va inserita all’inizio delprogramma o del sottoprogramma, prima delle dichiarazioni divariabili
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Dichiarazioni implicite
Ogni variabile non esplicitamente dichiarata, assume per ilFORTRAN
tipo intero se il suo nome inizia con un carattere compreso traI-Ntipo reale altrimenti
Utilizzare questo tipo di dichiarazione implicita e formalmentecorretto ma molto pericoloso
E altamente consigliato utilizzare sempre l’istruzioneIMPLICIT NONE. Usare questa istruzione impone alprogrammatore di dichiarare sempre ogni variabile utilizzata.
L’istruzione IMPLICIT NONE va inserita all’inizio delprogramma o del sottoprogramma, prima delle dichiarazioni divariabili
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Dichiarazioni implicite
Ogni variabile non esplicitamente dichiarata, assume per ilFORTRAN
tipo intero se il suo nome inizia con un carattere compreso traI-Ntipo reale altrimenti
Utilizzare questo tipo di dichiarazione implicita e formalmentecorretto ma molto pericoloso
E altamente consigliato utilizzare sempre l’istruzioneIMPLICIT NONE. Usare questa istruzione impone alprogrammatore di dichiarare sempre ogni variabile utilizzata.
L’istruzione IMPLICIT NONE va inserita all’inizio delprogramma o del sottoprogramma, prima delle dichiarazioni divariabili
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Dichiarazioni implicite
Ogni variabile non esplicitamente dichiarata, assume per ilFORTRAN
tipo intero se il suo nome inizia con un carattere compreso traI-Ntipo reale altrimenti
Utilizzare questo tipo di dichiarazione implicita e formalmentecorretto ma molto pericoloso
E altamente consigliato utilizzare sempre l’istruzioneIMPLICIT NONE. Usare questa istruzione impone alprogrammatore di dichiarare sempre ogni variabile utilizzata.
L’istruzione IMPLICIT NONE va inserita all’inizio delprogramma o del sottoprogramma, prima delle dichiarazioni divariabili
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Dichiarazioni implicite
Ogni variabile non esplicitamente dichiarata, assume per ilFORTRAN
tipo intero se il suo nome inizia con un carattere compreso traI-Ntipo reale altrimenti
Utilizzare questo tipo di dichiarazione implicita e formalmentecorretto ma molto pericoloso
E altamente consigliato utilizzare sempre l’istruzioneIMPLICIT NONE. Usare questa istruzione impone alprogrammatore di dichiarare sempre ogni variabile utilizzata.
L’istruzione IMPLICIT NONE va inserita all’inizio delprogramma o del sottoprogramma, prima delle dichiarazioni divariabili
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Assegnazione
Per assegnare un valore ad una variabile si usa il segno =
EsempioA = 1.
Attenzione! Non si tratta di un’uguaglianza matematica, madi un’assegnazione. Il valore a destra del segno = vieneassegnato alla variabile che si trova a sinistra.
EsempioA = 1.A = A + 1.
Esercizio
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Assegnazione
Per assegnare un valore ad una variabile si usa il segno =
EsempioA = 1.
Attenzione! Non si tratta di un’uguaglianza matematica, madi un’assegnazione. Il valore a destra del segno = vieneassegnato alla variabile che si trova a sinistra.
EsempioA = 1.A = A + 1.
Esercizio
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Assegnazione
Per assegnare un valore ad una variabile si usa il segno =
EsempioA = 1.
Attenzione! Non si tratta di un’uguaglianza matematica, madi un’assegnazione. Il valore a destra del segno = vieneassegnato alla variabile che si trova a sinistra.
EsempioA = 1.A = A + 1.
Esercizio
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Assegnazione
Per assegnare un valore ad una variabile si usa il segno =
EsempioA = 1.
Attenzione! Non si tratta di un’uguaglianza matematica, madi un’assegnazione. Il valore a destra del segno = vieneassegnato alla variabile che si trova a sinistra.
EsempioA = 1.A = A + 1.
Esercizio
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Assegnazione
Per assegnare un valore ad una variabile si usa il segno =
EsempioA = 1.
Attenzione! Non si tratta di un’uguaglianza matematica, madi un’assegnazione. Il valore a destra del segno = vieneassegnato alla variabile che si trova a sinistra.
EsempioA = 1.A = A + 1.
Esercizio
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Operatori numerici
Il FORTRAN definisce i seguenti operatori numerici
+ e - per addizione e sottrazione* e / per moltiplicazione e divisione** per l’elevamento a potenza
La precedenza delle operazioni e la stessa delle regolematematiche.
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Operatori numerici
Il FORTRAN definisce i seguenti operatori numerici
+ e - per addizione e sottrazione
* e / per moltiplicazione e divisione** per l’elevamento a potenza
La precedenza delle operazioni e la stessa delle regolematematiche.
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Operatori numerici
Il FORTRAN definisce i seguenti operatori numerici
+ e - per addizione e sottrazione* e / per moltiplicazione e divisione
** per l’elevamento a potenza
La precedenza delle operazioni e la stessa delle regolematematiche.
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Operatori numerici
Il FORTRAN definisce i seguenti operatori numerici
+ e - per addizione e sottrazione* e / per moltiplicazione e divisione** per l’elevamento a potenza
La precedenza delle operazioni e la stessa delle regolematematiche.
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Operatori numerici
Il FORTRAN definisce i seguenti operatori numerici
+ e - per addizione e sottrazione* e / per moltiplicazione e divisione** per l’elevamento a potenza
La precedenza delle operazioni e la stessa delle regolematematiche.
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Espressioni logiche
Un’espressione logica e un’asserzione che puo essere vera o falsa.Per costruire espressioni logiche si usano i seguenti operatorirelazionali:
Significato Vecchio stile Nuovo stile
maggiore .GT. >maggiore o uguale .GE. >=minore o uguale .LE. <=minore .LT. <diverso .NE. / =uguale .EQ. ==
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Espressioni logiche
Esempi
Operazione Risultato
3 < 4 .TRUE.3 <= 4 .TRUE.3 == 4 .FALSE.3 > 4 .FALSE.3 >= 4 .FALSE.
Fondamenti di Informatica T (A-K) FORTRAN 90
Basi del FORTRAN 90
Operatori combinatori logici
Operatore Significato
exp1 .AND. exp2 VERO se entrambe le espressioni sono VEREexp1 .OR. exp2 VERO se almeno una delle espressioni e VERA
Fondamenti di Informatica T (A-K) FORTRAN 90