Cours de Fortran 90 / 95
CLAIRE MICHAUT
Claire.Michaut@obspm.fr
LUTH Observatoire de Paris
5, place Jules Janssen - 92195 Meudon Cedex
Master Recherche (M2)
Spécialité Astronomie & Astrophysique
Année 2005 2006
École doctorale d’Astronomie et d’Astrophysique d’Île-de-France - Cours de Fortran 90 / 95 - Claire Michaut
Table des Matières
I Historique ........................................................................................................................ 7
II Structure d’un programme et syntaxe ............................................................................ 9
II.A Unités de Programme et procédures ..................................................................................... 9
II.A.1 Le programme principal .............................................................................................................. 10
II.A.2 Les procédures externes .............................................................................................................. 11
II.A.3 Les modules ................................................................................................................................. 14
II.B Format et Syntaxe ................................................................................................................. 16
II.B.1 Le format ..................................................................................................................................... 16
II.B.2 Les identificateurs et la syntaxe ................................................................................................... 16
II.B.3 Commentaires .............................................................................................................................. 17
II.B.4 Chaînes de caractères .................................................................................................................. 17
II.C Les types et les déclarations ................................................................................................. 17
II.C.1 Déclaration de variables scalaires ................................................................................................ 18
II.C.2 Déclaration de constantes ............................................................................................................ 18
II.C.3 Sous-type : la précision des nombres .......................................................................................... 19
II.C.4 Les fonctions intrinsèques liées à la précision ............................................................................. 20
II.D Autres types ........................................................................................................................... 21
II.D.1 Les tableaux ................................................................................................................................. 21
II.D.2 Les types dérivés ......................................................................................................................... 22
II.D.3 Vers un langage orienté objet ...................................................................................................... 23
II.E Les fonctions intrinsèques .................................................................................................... 24
III Structures de contrôle ................................................................................................... 26
III.A Le choix avec IF .................................................................................................................... 26
III.B Le choix avec SELECT CASE ............................................................................................. 27
III.C Le choix avec WHERE ......................................................................................................... 29
III.D La boucle DO .................................................................................................................... 30
III.D.1 Clause de contrôle itérative ......................................................................................................... 30
III.D.2 Clause de contrôle WHILE.......................................................................................................... 31
III.D.3 Boucle infinie et altération .......................................................................................................... 32
III.E Le schéma FORALL ............................................................................................................. 32
École doctorale d’Astronomie et d’Astrophysique d’Île-de-France - Cours de Fortran 90 / 95 - Claire Michaut
4
IV Les tableaux ................................................................................................................... 33
IV.A Gestion mémoire des tableaux ............................................................................................. 33
IV.A.1 L’allocation statique .................................................................................................................... 33
IV.A.2 L’allocation dynamique .............................................................................................................. 33
IV.B La manipulation des tableaux ............................................................................................. 36
IV.C Les fonctions intrinsèques sur les tableaux ........................................................................ 39
IV.C.1 Les fonctions d’interrogation ...................................................................................................... 39
IV.C.2 Les fonctions de réduction .......................................................................................................... 40
IV.C.3 Les fonctions de construction et de transformation ..................................................................... 43
IV.C.4 Les fonctions propres aux matrices et vecteurs ........................................................................... 45
V Les pointeurs .................................................................................................................. 47
V.A Introduction .......................................................................................................................... 47
V.A.1 Définition : .................................................................................................................................. 47
V.A.2 Déclaration d’un pointeur et d’une cible ..................................................................................... 47
V.B État d’un pointeur ................................................................................................................ 47
V.C L’allocation dynamique ....................................................................................................... 49
V.C.1 En argument de procédure .......................................................................................................... 50
VI Contrôle de visibilité ...................................................................................................... 53
VI.A Les ressources privées et publiques ................................................................................... 53
VI.A.2 les types dérivés semi-privés ....................................................................................................... 54
VI.A.3 Restriction de l'instruction USE .................................................................................................. 55
VII Contrôle de cohérence ................................................................................................... 57
VII.A Les arguments de procédure ........................................................................................... 57
VII.A.1 Vocation des arguments ......................................................................................................... 57
VII.A.2 Présence optionnelle des arguments ....................................................................................... 59
VII.A.3 Passage d'arguments par mots clés ......................................................................................... 60
École doctorale d’Astronomie et d’Astrophysique d’Île-de-France - Cours de Fortran 90 / 95 - Claire Michaut
5
VII.B Interface de procédure ..................................................................................................... 61
VII.B.1 Bloc interface dans l’unité appelante ...................................................................................... 62
VII.B.2 Bloc interface dans un module ................................................................................................ 63
VII.B.3 Récapitulatif sur l’interface explicite ...................................................................................... 66
VII.C Interface générique ........................................................................................................... 67
VII.D Surcharge et création d’opérateurs ................................................................................ 68
VII.D.1 Interface OPERATOR ............................................................................................................ 68
VII.D.2 Interface ASSIGNMENT ....................................................................................................... 70
VIII Les entrées / sorties ........................................................................................................ 72
VIII.A Instructions générales ....................................................................................................... 72
VIII.A.1 Description des paramètres de lecture / écriture ..................................................................... 73
VIII.B Ouverture de fichiers ........................................................................................................ 76
VIII.B.1 Description des paramètres d’ouverture ................................................................................. 76
VIII.C L’instruction inquire ........................................................................................................ 78
VIII.C.2 Par liste de sortie ..................................................................................................................... 79
VIII.D L’instruction namelist ...................................................................................................... 79
VIII.D.1 Déclaration.............................................................................................................................. 80
VIII.D.2 Usage ...................................................................................................................................... 80
IX ANNEXE ....................................................................................................................... 82
IX.A Quelques fonctions intrinsèques .......................................................................................... 82
IX.A.1 Manipulation de bits .................................................................................................................... 82
IX.A.2 Précision et codage numérique .................................................................................................... 83
IX.A.3 Fonctions numériques élémentaires ............................................................................................. 84
IX.A.4 Fonctions élémentaires de type caractère .................................................................................... 85
IX.B Fonctions de génération de nombres aléatoires.................................................................. 86
IX.C Horloge en temps réel ........................................................................................................... 87
IX.D Sites intéressants ............................................................................................................... 88
IX.E Bibliographie ......................................................................................................................... 88
1 / 88 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !