fortran 90 - Fondamenti di Informatica T (ak)

Transcript

fortran 90 - Fondamenti di Informatica T (ak)
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 o
IMPLICIT NONE
REAL , PARAMETER : : p i = 3 . 1 4 1 5 9
REAL : : r , a r e a
r = 1.
area = pi ∗ r ∗ r
PRINT∗ , a r e a
END PROGRAM
Fondamenti di Informatica T (A-K)
FORTRAN 90
Basi del FORTRAN 90
Basi del FORTRAN 90
Ogni programma FORTRAN é contenuto in un file di testo.
Fondamenti di Informatica T (A-K)
FORTRAN 90
Basi del FORTRAN 90
Basi del FORTRAN 90
Ogni programma FORTRAN é contenuto in un file di testo.
Ogni programma é costituito da una sequenza di istruzioni. In
genere, ogni riga contiene un’istruzione.
Fondamenti di Informatica T (A-K)
FORTRAN 90
Basi del FORTRAN 90
Basi del FORTRAN 90
Ogni programma FORTRAN é contenuto in un file di testo.
Ogni programma é costituito da una sequenza di istruzioni. In
genere, 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 solo
programma principale
Fondamenti di Informatica T (A-K)
FORTRAN 90
Basi del FORTRAN 90
Struttura di un programma
Ogni programma FORTRAN deve contenere uno e un solo
programma principale
Oltre al programma principale, ci possono essere (opzionale)
un certo numero di altre unitá (moduli, funzioni, subroutine).
Fondamenti di Informatica T (A-K)
FORTRAN 90
Basi del FORTRAN 90
Struttura di un programma
Ogni programma FORTRAN deve contenere uno e un solo
programma principale
Oltre al programma principale, ci possono essere (opzionale)
un certo numero di altre unitá (moduli, funzioni, subroutine).
Il programma principale e i sottoprogrammi devono essere
univocamente 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 (fino
ad un massimo di 132 caratteri in una stessa riga)
Fondamenti di Informatica T (A-K)
FORTRAN 90
Basi del FORTRAN 90
Caratteristiche sintattiche
Il FORTRAN 90 consente di scrivere in formato libero (fino
ad un massimo di 132 caratteri in una stessa riga)
Continuazione: qualora sia necessario, un’istruzione puó
continuare nella riga successiva (carattere &)
Fondamenti di Informatica T (A-K)
FORTRAN 90
Basi del FORTRAN 90
Caratteristiche sintattiche
Il FORTRAN 90 consente di scrivere in formato libero (fino
ad un massimo di 132 caratteri in una stessa riga)
Continuazione: qualora sia necessario, un’istruzione puó
continuare nella riga successiva (carattere &)
Commento: il carattere ’ !’ consente di inserire dei commenti
nel 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
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, si
puó usare (underscore)
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, si
puó usare (underscore)
Il primo carattere DEVE essere una lettera
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, si
puó usare (underscore)
Il primo carattere DEVE essere una lettera
Gli elementi e le istruzioni del FORTRAN non possono essere
usati come nomi
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, si
puó usare (underscore)
Il primo carattere DEVE essere una lettera
Gli elementi e le istruzioni del FORTRAN non possono essere
usati come nomi
Il nome di un programma o di un sottoprogramma non puó
essere usato come nome di una variabile
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, si
puó usare (underscore)
Il primo carattere DEVE essere una lettera
Gli elementi e le istruzioni del FORTRAN non possono essere
usati come nomi
Il nome di un programma o di un sottoprogramma non puó
essere usato come nome di una variabile
Il FORTRAN non fa distinzione fra lettere maiuscole e
minuscole
Fondamenti di Informatica T (A-K)
FORTRAN 90
Basi del FORTRAN 90
Ordine delle istruzioni
Il FORTRAN ha delle regole molto rigide sulla struttura del
programma e l’ordine delle istruzioni
Fondamenti di Informatica T (A-K)
FORTRAN 90
Basi del FORTRAN 90
Ordine delle istruzioni
Il FORTRAN ha delle regole molto rigide sulla struttura del
programma e l’ordine delle istruzioni
Esempio di validitá generale
PROGRAM nome
dichiarazioni variabili
istruzioni
END PROGRAM
Fondamenti di Informatica T (A-K)
FORTRAN 90
Basi del FORTRAN 90
Tipi e dichiarazioni
Le dichiarazioni stabiliscono il tipo della variabile
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 é
una sequanza di nomi separati da una virgola):
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 é
una sequanza di nomi separati da una virgola):
Stringa di caratteri
CHARACTER :: 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 é
una sequanza di nomi separati da una virgola):
Stringa di caratteri
CHARACTER :: lista di variabili
Variabile logica (o booleana), cioé variabile che puo’ essere
vera o falsa
LOGICAL :: 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 é
una sequanza di nomi separati da una virgola):
Stringa di caratteri
CHARACTER :: lista di variabili
Variabile logica (o booleana), cioé variabile che puo’ essere
vera o falsa
LOGICAL :: lista di variabili
Numero reale in singola precisione
REAL :: 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 é
una sequanza di nomi separati da una virgola):
Stringa di caratteri
CHARACTER :: lista di variabili
Variabile logica (o booleana), cioé variabile che puo’ essere
vera o falsa
LOGICAL :: lista di variabili
Numero reale in singola precisione
REAL :: lista di variabili
Numero reale in doppia precisione
REAL*8 :: lista di variabili
DOUBLE PRECISION :: 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 é
una sequanza di nomi separati da una virgola):
Stringa di caratteri
CHARACTER :: lista di variabili
Variabile logica (o booleana), cioé variabile che puo’ essere
vera o falsa
LOGICAL :: lista di variabili
Numero reale in singola precisione
REAL :: lista di variabili
Numero reale in doppia precisione
REAL*8 :: lista di variabili
DOUBLE PRECISION :: lista di variabili
Numero intero
INTEGER :: 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
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:
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
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 o
IMPLICIT NONE
REAL , PARAMETER : : p i = 3 . 1 4 1 5 9
REAL : : r , a r e a
r = 1.
area = pi ∗ r ∗ r
PRINT∗ , a r e a
END PROGRAM
Fondamenti di Informatica T (A-K)
FORTRAN 90
Basi del FORTRAN 90
Dichiarazioni implicite
Ogni variabile non esplicitamente dichiarata, assume per il
FORTRAN
Fondamenti di Informatica T (A-K)
FORTRAN 90
Basi del FORTRAN 90
Dichiarazioni implicite
Ogni variabile non esplicitamente dichiarata, assume per il
FORTRAN
tipo intero se il suo nome inizia con un carattere compreso tra
I-N
Fondamenti di Informatica T (A-K)
FORTRAN 90
Basi del FORTRAN 90
Dichiarazioni implicite
Ogni variabile non esplicitamente dichiarata, assume per il
FORTRAN
tipo intero se il suo nome inizia con un carattere compreso tra
I-N
tipo reale altrimenti
Fondamenti di Informatica T (A-K)
FORTRAN 90
Basi del FORTRAN 90
Dichiarazioni implicite
Ogni variabile non esplicitamente dichiarata, assume per il
FORTRAN
tipo intero se il suo nome inizia con un carattere compreso tra
I-N
tipo reale altrimenti
Utilizzare questo tipo di dichiarazione implicita é formalmente
corretto ma molto pericoloso
Fondamenti di Informatica T (A-K)
FORTRAN 90
Basi del FORTRAN 90
Dichiarazioni implicite
Ogni variabile non esplicitamente dichiarata, assume per il
FORTRAN
tipo intero se il suo nome inizia con un carattere compreso tra
I-N
tipo reale altrimenti
Utilizzare questo tipo di dichiarazione implicita é formalmente
corretto ma molto pericoloso
É altamente consigliato utilizzare sempre l’istruzione
IMPLICIT NONE. Usare questa istruzione impone al
programmatore di dichiarare sempre ogni variabile utilizzata.
Fondamenti di Informatica T (A-K)
FORTRAN 90
Basi del FORTRAN 90
Dichiarazioni implicite
Ogni variabile non esplicitamente dichiarata, assume per il
FORTRAN
tipo intero se il suo nome inizia con un carattere compreso tra
I-N
tipo reale altrimenti
Utilizzare questo tipo di dichiarazione implicita é formalmente
corretto ma molto pericoloso
É altamente consigliato utilizzare sempre l’istruzione
IMPLICIT NONE. Usare questa istruzione impone al
programmatore di dichiarare sempre ogni variabile utilizzata.
L’istruzione IMPLICIT NONE va inserita all’inizio del
programma o del sottoprogramma, prima delle dichiarazioni di
variabili
Fondamenti di Informatica T (A-K)
FORTRAN 90
Basi del FORTRAN 90
Assegnazione
Per assegnare un valore ad una variabile si usa il segno =
Fondamenti di Informatica T (A-K)
FORTRAN 90
Basi del FORTRAN 90
Assegnazione
Per assegnare un valore ad una variabile si usa il segno =
Esempio
A = 1.
Fondamenti di Informatica T (A-K)
FORTRAN 90
Basi del FORTRAN 90
Assegnazione
Per assegnare un valore ad una variabile si usa il segno =
Esempio
A = 1.
Attenzione! Non si tratta di un’uguaglianza matematica, ma
di un’assegnazione. Il valore a destra del segno = viene
assegnato alla variabile che si trova a sinistra.
Fondamenti di Informatica T (A-K)
FORTRAN 90
Basi del FORTRAN 90
Assegnazione
Per assegnare un valore ad una variabile si usa il segno =
Esempio
A = 1.
Attenzione! Non si tratta di un’uguaglianza matematica, ma
di un’assegnazione. Il valore a destra del segno = viene
assegnato alla variabile che si trova a sinistra.
Esempio
A = 1.
A = A + 1.
Fondamenti di Informatica T (A-K)
FORTRAN 90
Basi del FORTRAN 90
Assegnazione
Per assegnare un valore ad una variabile si usa il segno =
Esempio
A = 1.
Attenzione! Non si tratta di un’uguaglianza matematica, ma
di un’assegnazione. Il valore a destra del segno = viene
assegnato alla variabile che si trova a sinistra.
Esempio
A = 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
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
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
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
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 é la stessa delle regole
matematiche.
Fondamenti di Informatica T (A-K)
FORTRAN 90
Basi del FORTRAN 90
Espressioni logiche
Un’espressione logica é un’asserzione che puó essere vera o falsa.
Per costruire espressioni logiche si usano i seguenti operatori
relazionali:
Significato
maggiore
maggiore o uguale
minore o uguale
minore
diverso
uguale
Vecchio stile
.GT.
.GE.
.LE.
.LT.
.NE.
.EQ.
Fondamenti di Informatica T (A-K)
FORTRAN 90
Nuovo stile
>
>=
<=
<
/=
==
Basi del FORTRAN 90
Espressioni logiche
Esempi
Operazione
3<4
3 <= 4
3 == 4
3>4
3 >= 4
Fondamenti di Informatica T (A-K)
Risultato
.TRUE.
.TRUE.
.FALSE.
.FALSE.
.FALSE.
FORTRAN 90
Basi del FORTRAN 90
Operatori combinatori logici
Operatore
exp1 .AND. exp2
exp1 .OR. exp2
Significato
VERO se entrambe le espressioni sono VERE
VERO se almeno una delle espressioni é VERA
Fondamenti di Informatica T (A-K)
FORTRAN 90