Fortran 90

Transcription

Fortran 90
Module : Initiation à la programmation
Partie III : Fortran 90
Fortran 90 : un langage de programmation (parmi d'autres)
4 étapes :
( - concevoir )
- écrire
- compiler
- exécuter
Programme
Fortran 90
A, B en Entier
Algorithme
Début
A←1
B←A+5
(1)
(2)
(3)
(4)
Variables A, B en Entier
Début
A←1
B←A+5
Fin
PROGRAM PlusCinq
IMPLICIT NONE
INTEGER :: A, B
A=1
B=A+5
END PROGRAM PlusCinq
Fin
Commence toujours par :
PROGRAM NomDuPogramme
Programme
Fortran 90
PROGRAM PlusCinq
IMPLICIT NONE
INTEGER :: A, B
Se termine toujours par :
END PROGRAM NomDuProgramme
A=1
B=A+5
END PROGRAM PlusCinq
Programme
Fortran 90
IMPLICIT NONE
Toujours en deuxième ligne
Obligatoire pour vous !!!
Signifie que les variables qui sont utilisées par la
suite doivent avoir été déclarées
PROGRAM PlusCinq
IMPLICIT NONE
INTEGER :: A, B
A=1
B=A+5
END PROGRAM PlusCinq
Zone de déclaration des variables
<TYPE> :: <variable1>, <variable2>, etc...
PROGRAM PlusCinq
IMPLICIT NONE
TYPE peut être :
INTEGER
REAL
DOUBLE PRECISION
COMPLEX
CHARACTER
LOGICAL
Programme
Fortran 90
pour les entiers
pour les réels
pour les réels à double précision
pour les nombres complexes
pour les chaînes de caractères
pour les booléens (vrai / faux)
Et les tableaux de types... (que l'on verra plus tard)
INTEGER :: A, B
A=1
B=A+5
END PROGRAM PlusCinq
Programme
Fortran 90
Corps du programme
PROGRAM PlusCinq
Contient toutes les actions que l'on souhaite
effectuer.
IMPLICIT NONE
On utilise le signe "=" pour l'attribution des variables
INTEGER :: A, B
Attention au sens !!!
Pensez à la flèche utilisée dans les algorithmes ←
A=1
B=A+5
END PROGRAM PlusCinq
Programme
Fortran 90
A, B en Entier
Algorithme
Début
Ecrire "Bonjour"
A←1
B←A+5
Ecrire B
Fin
(1)
(2)
(3)
(4)
(5)
(6)
Variables A, B en Entier
Début
Ecrire "Bonjour"
A←1
B←A+5
Ecrire B
Fin
PROGRAM PlusCinq
IMPLICIT NONE
INTEGER :: A, B
write (*,*) "Bonjour"
A=1
B=A+5
write (*,*) B
END PROGRAM PlusCinq
Programme
Fortran 90
Ecriture
write(*,*) variable1, variable2, etc...
(*,*) signifie :
Première étoile : vers la sortie standard (l'écran)
Seconde étoile : avec un format standard.
Nous préciserons cela plus tard.
PROGRAM PlusCinq
IMPLICIT NONE
INTEGER :: A, B
On peut combiner avec du texte. Par exemple :
write (*,*) "Bonjour"
write (*,*) " B = " , B
A=1
B=A+5
Bloc de texte,
entre guillemets
virgule de
séparation
variable à
afficher
write (*,*) B
END PROGRAM PlusCinq
Programme
Fortran 90
Lecture
Algorithme
(1)
(2)
(3)
(4)
(5)
(6)
Variables A, B en Entier
Début
Ecrire "Donnez une valeur pour A :"
A ← Lire
B←A+5
Ecrire "A+5 vaut :" , B
Fin
PROGRAM PlusCinq
IMPLICIT NONE
INTEGER :: A, B
write (*,*) "Donnez une valeur pour A :"
read (*,*) A
B=A+5
write (*,*) "A+5 vaut :" , B
END PROGRAM PlusCinq
Ecriture
write(*,*) variable1, variable2, etc...
(*,*) signifie :
Première étoile : vers la sortie standard (l'écran)
Seconde étoile : avec un format standard.
Lecture
read(*,*) variable1
(*,*) signifie :
Première étoile : depuis l'entrée standard (le clavier)
Seconde étoile : avec un format standard.
Format des chaînes de caractères
CHARACTER (LEN = <LongMax> ) :: <NOM1>,
<NOM2>, ...
Programme
Fortran 90
PROGRAM PlusCinq
LongMax étant un entier
IMPLICIT NONE
exemple :
INTEGER :: A, B
CHARACTER (LEN=10) :: C
CHARACTER (LEN=10) :: Article, Client
C = "Maria"
write (*,*) "Bonjour ", C
A=1
B=A+5
write (*,*) B
END PROGRAM PlusCinq
Format des chaînes de caractères
CHARACTER (LEN = LongMax ) :: NOM1, NOM2, ...
LongMax étant un entier
exemple :
CHARACTER (LEN=10) :: Article, Client
Programme
Fortran 90
PROGRAM PlusCinq
IMPLICIT NONE
INTEGER :: A, B
CHARACTER (LEN=10) :: C
C = "Maria"
write (*,*) "Bonjour, quel est votre nom ? "
read (*,*) C
write (*,*) "Bonjour ", C
A=1
B=A+5
write (*,*) B
END PROGRAM PlusCinq
Ecrire le programme
Avec un éditeur de texte classique, par exemple "Kate"
Ecrire le programme
Avec un éditeur de texte classique, par exemple "Kate"
Pas d'extension au fichier
Pas de code couleur
Ecrire le programme
Avec un éditeur de texte classique, par exemple "Kate"
Sauvegarder le fichier dans un de vos répertoires
avec l'extension
.f90 (fortran 90!)
exemple : PlusCinq.f90
Ecrire le programme
Avec un éditeur de texte classique, par exemple "Kate"
Ecrire le programme
Avec un éditeur de texte classique, par exemple "Kate"
Compiler un programme
gfortran NomduFichier.f90
Compiler un programme
gfortran NomduFichier.f90
Le fait de compiler le fichier NomduFichier.f90
produit un fichier exécutable,
par défaut habituellement appelé a.out
Il est recommandé de renommer ce fichier
par exemple :
ou :
mv a.out NomduFichier.exe
mv a.out PlusCinq.exe
Compiler un programme
gfortran NomduFichier.f90
Exécuter un programme
./NomduFichier.exe
ou
./a.out
Reprendre et programmer les exercices précédents à partir de 1.4 (TD Algorithme)
Quelques règles (plus ou moins formelles) :
- Pas d'espace dans le nom du programme ou le nom des variables
- Pas d'accents (ou autres caractères spéciaux)
- Pas de point, pas de virgule
- Pas uniquement des chiffres
Quelques remarques sur les usages d'écriture...
PROGRAM PlusCinq
Une ligne commençant
par "c" est une ligne de
commentaire !
Laisser la première
colonne vide
IMPLICIT NONE
INTEGER :: A, B
CHARACTER *10 :: C
C = "Maria"
write (*,*) "Bonjour ", C
A=1
B=A+5
write (*,*) B
END PROGRAM PlusCinq
Utiliser si possible des noms
de variables explicites
ici, par exemple NOM
Rappel des 4 étapes :
- concevoir
l'algorithme
sur une feuille de papier !
- écrire
le code fortran
à partir d'un éditeur de texte simple (Kate,...)
- compiler
le programme
dans un Terminal avec gfortran
- exécuter
le programme
dans un Terminal