Introduction au fortran 90/95 LCTCP /CTCIS / A. Dekhira 1 1 - FORTRAN Le fortra

Introduction au fortran 90/95 LCTCP /CTCIS / A. Dekhira 1 1 - FORTRAN Le fortran (FORMULA TRANSLATION) est le premier langage informatique de haut-niveau. Né à la fin des années 1950 sous l’impulsion de John Backus, il a été standardisé en 1972 sous la forme du fortran 66 et son efficacité dans le calcul scientifique en a fait le langage le plus utilisé dans les applications non commerciales. La mise à jour du standard à la fin des années 1970 a apporté d’énormes améliorations en particulier dans le traitement des chaînes de caractères avec le fortran 77. Il présente néanmoins quelques inconvénients et contraintes majeurs (car a l'époque, les ordinateurs fonctionnaient avec des cartes perforées) et c'est la raison pour laquelle Fortran 90 est apparu. 2- HISTORIQUE Au début de l'informatique, le fait de programmer se révélait fastidieux et peu fiable. Puis apparut une codification directe des instructions machines, connue sous le nom de code assembleur. Dans les années 50, il devint évident qu’une nouvelle étape dans les techniques de programmation devait être franchie. Période Version 1954 Projet création du premier langage symbolique FORTRAN par John Backus d’IBM (Mathematical FORmula TRANslating System) :  Efficacité du code généré (performance) ;  Langage quasi naturel pour scientifiques (productivité, maintenance, lisibilité). 1956 Premier manuel de référence qui définit le Fortran I. Les noms de variables ont jusqu’à six caractères et l’instruction FORMAT est introduite. 1957 Le Fortran II fait son apparition ainsi que les premiers compilateurs commerciaux. Les sous- programmes et fonctions sont acceptés et deviennent compilables indépendamment les uns des autres. 1958 À la fin de l’année, le Fortran III est disponible, mais reste interne à la compagnie IBM. Certaines des nouveautés implantées sont le type logique, les paramètres de procédures. 1962 Le Fortran IV est né et restera le langage informatique des scientifiques pendant seize ans. Il apporte les déclarations de type explicites et l’instruction d’initialisation DATA. Entre temps, les autres constructeurs développent leur compilateur ; il faut bientôt établir une norme. 1966 Création de la norme ANSI (American National Standards Institutes), le Fortran IV est rebaptisé Fortran 66. 1978 La norme Fortran 77 (ou Fortran V) modernise le langage, car c’est la fin des cartes perforées. On lui doit le type caractère, de meilleures entrées / sorties, un début de programmation structurée et des fonctions prédéfinies portant un nom générique. 1980 Dans le milieu des années 80, la reconversion à Fortran 77 était bien engagée alors que Fortran 66 perdait considérablement du terrain. 1991 La norme internationale ISO/ANSI Fortran 90 apparaît dotée d’innovations changeant profondément le langage. Le Fortran devient modulaire, il permet un calcul vectoriel et un contrôle de la précision numérique. De plus il devient plus fiable grâce aux blocs interfaces et s’oriente vers une programmation objet. 1995 Les caractéristiques dépréciées ou obsolètes forment le Fortran 95 et il admet une structure vectorielle supplémentaire (FORALL) et quelques autres améliorations. 2000 Fin des travaux pour la norme Fortran 2000. 2004 Norme Fortran 2003 (ISO et ANSI), Fortran supporte maintenant la programmation orientée objet. L'interface avec le langage C est assurée par le module interne ISO_C_BINDING, qui permet à un programme Fortran d'accéder facilement aux innombrables bibliothèques disponibles en C 2010 Norme Fortran 2008 (ISO et ANSI). Introduction au fortran 90/95 LCTCP /CTCIS / A. Dekhira 2 3- UN PROGRAMME FORTRAN Un programme Fortran est une suite d’instructions et d’opérations écrites dans un fichier, avec un le langage informatique Fortran. Un langage informatique est un ensemble de règles syntaxiques et grammaticales et de mots permettant d’écrire des opérations mathématiques, de communiquer des informations entre l’ordinateur (mémoire), les fichiers (disque dur) et l’utilisateur (clavier/´écran). Le fichier contenant le programme écrit en Fortran 90 doit être nommé come suit : nom.f90 Ce programme n’est pas utilisable tel quel : il faut le rendre compréhensible par l’ordinateur, c.-à-d. le traduire : le logiciel traducteur est appelé « Compilateur », la traduction est appelée « compilation ». cet opération génère un fichier exécutable. Ce fichier permet d’exécuter les instruction programmées. Pour compiler un programme fortran « test.f90, par exemple », lancer dans le terminal LINUX: $ gfortran test.f90 ! Ceci crée un fichier exécutable « a.out ». Pour le lancer, taper « ./a.out » $ gfortran -o test.out test.f90 ! Ceci crée un fichier exécutable « test.out » Pour le lancer, taper « ./test.out » 4- STRUCTURE D’UN PROGRAMME A- UNITE DE PROGRAMME Un programme source Fortran est composé de parties indépendantes appelées unités de programme (scoping unit). Chaque partie est compilée de façon indépendante. Chacune admet son propre environnement. Il sera cependant possible que ces parties communiquent entre elles. Les différentes unités de programme sont :  le programme principal ;  les sous-programmes : o de type subroutine ; o de type function.  les modules ;  les blocks data. Chaque unité comprend une partie déclarative (déclaration des variables locales, ...) suivie d’une partie comportant des instructions exécutables parmi lesquelles peut apparaître l’instruction STOP qui provoque l’interruption du programme. B- LE PROGRAMME PRINCIPAL Le programme principal est une unité de compilation, mais il a la particularité d’être la seule qui soit exécutable. Donc il est la seule qui soit totalement obligatoire. Le programme principal prend toujours la forme suivante : PROGRAM nom_du_programme [Instructions de spécification / déclaration] [Instructions exécutables] CONTAINS [Procédures internes] END PROGRAM nom_du_programme Ex : PROGRAM test implicite none REAL ::a,b READ (*,*) a,b,c c=a+b WRITE (*,*) c END PROGRAM test L'instruction PROGRAM est facultative, mais conseillée. L'instruction END qui génère l'arrêt du programme est obligatoire. Les instructions de spécification sont des instructions de déclaration, des définitions de type, des blocs INTERFACE. L'instruction CONTAINS indique la présence d'une ou plusieurs procédures. Le bloc des déclarations sert à indiquer à la machine quel est le type de chaque variable utilisée afin de réserver la place nécessaire en mémoire « RAM ». Introduction au fortran 90/95 LCTCP /CTCIS / A. Dekhira 3 C- LES PROCEDURES EXTERNES Une procédure externe est appelée depuis une autre unité de programme. Elle a une forme similaire à celle du programme principal, tant du point de vue de sa syntaxe que de son exécution. On distingue deux sortes : les sous-programmes et les fonctions. Les sous-programmes, définis par le mot-clé SUBROUTINE, définissent une action au moyen de toutes les instructions du langage, dont l’appel prend lui-même la forme et l’apparence d’une instruction du langage. Les fonctions, définis par le mot-clé FUNCTION, calculent une valeur au moyen de toutes les instructions du langage, dont l’appel prend place au sein d’une expression. D- LES MODULES Un module est une unité de compilation qui a pour fonction de mettre à disposition, aux autres unités de compilation, des ressources logicielles comme des constantes, des variables, des types et des procédures. Le module n’est pas exécutable, il n’y a que le programme principal qui le soit. 5- FORMAT ET SYNTAXE En Fortran 90, on utilisera de préférence le « format libre », qui est une nouveauté de cette norme. Les lignes ont une longueur maximale de 132 caractères. On peut coder plusieurs instructions sur une même ligne en les séparant par « ; ». Une instruction peut s’écrire sur plusieurs lignes en utilisant le caractère « & ». Un identificateur est composé d’une suite de caractères, limitée à 31, choisis parmi les lettres (non accentuées), de chiffres (sauf en première position) et du caractère « _ ». L’identificateur sert à nommer les objets que le programmateur veut manipuler. Le compilateur ne distingue pas les majuscules des minuscules, mais on peut toutefois s’en servir par soucis de lisibilité. Ex : Student_CTCIS Un commentaire commence par le caractère point d’exclamation « ! » et se termine par la fin de ligne. Donc, il est possible d'insérer des commentaires après des instructions, sur une même ligne, mais pas avant. Les chaînes de caractères sont encadrées par des cotes simples « ’ » ou doubles « " ». Elles neutralisent l’effet de tous les autres signes ou mots clés. 6- LES DÉCLARATIONS Toute information stockée en mémoire est codée en binaire. Une chaîne de caractères, un nombre ou une valeur logique peuvent avoir dans l’absolu la même représentation binaire, suivant le codage utilisé. C’est pourquoi, nous devons annoncer quel type d’objets nous manipulons, pour différencier leur codage binaire. Le Fortran 90 prévoit cinq types de bases et des combinaisons : integer, real, logical, character, complex, double precision, type Syntaxe d’une déclaration : type [, liste_attributs ::] liste_identificateurs INTEGER :: a ,b REAL :: a REAL , PARAMETER :: pi CHARACTER (LEN=7) :: student COMPLEX :: z1=(3,5), z2 LOGICAL :: test = . TRUE . DOUBLE PRECISION :: x=5.d-4 Par défaut, les variables dont l’identificateur commence par les caractères I à N sont de type INTEGER. Toutes les autres sont de type REAL. L’instruction « IMPLICIT NONE » change cette règle car elle impose à l’utilisateur la Introduction au fortran 90/95 LCTCP /CTCIS / A. Dekhira 4 déclaration de chaque variable. Cette instruction est vivement recommandée car elle permet la détection d’un certain nombre d’erreurs uploads/s3/ intoduction-to-fortran-90-95.pdf

  • 18
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager