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