FORTRAN 90 - fimecc.ing.unibo.itfimecc.ing.unibo.it/PROGRAMMA/basi_fortran90.pdf · Basi del...

Preview:

Citation preview

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

Recommended