Programation Fortran Cours 1

Cour1


Introduction Au Langage Fortran 77
Introduction :
L’ordinateur (Computer en Anglais) permet de calculer et d’ordonner. Pour effectuer cette tâche principale l’ordinateur est composé d’un microprocesseur pour calculer et de la mémoire pour ranger les données et les résultats. Le microprocesseur n’effectue que des opérations simples sur des nombres codés en binaire (1 et 0) : additionner, soustraire, multiplier, diviser, lire dans la mémoire, écrire dans la mémoire, ……etc. .

D’autre part ces calculs même si simple ne peuvent être effectué sans l’intervention de l’utilisateur:
·        Pour calculer les racines d’une équation 2ème degré, le microprocesseur ne sait pas de lui-même manipuler les données, analyser tous les cas possibles et trouver les résultats correspondant à chaque cas.
·        Pour calculer la constante des gaz parfaits à partir des conditions standard, le microprocesseur doit recevoir toutes les données et la formule permettant d’avoir ce résultat.
La communication entre l’homme qui utilise les langages courants (Arabe, Français, Anglais,….) et le microprocesseur qui utilise le langage machine (le code binaire) s’effectuée à travers des langages commun (langages informatiques).
Un langage informatique est constitué par :
·        un ensemble d’instructions ou mots-clés
·        un ensemble d'objets manipulables
·        des règles de syntaxe
·        de structures logiques
Le programme élaboré doit répondre à toutes les exigences et les règles du langage pour qu’il puisse être exécuter et fournir des résultats corrects. Parmi les langages informatiques existants on site : Basic, Pascal, Fortran, C, Visual Basic, C++, Java, HTML, Delphi, ……… Le Fortran a été adopté comme langage de programmation car il s’avère très puissant dans les calculs scientifiques et ainsi pouvant répondre a nos besoins dans la résolution numérique des modèles mathématiques régissant les phénomènes physiques étudiés dans les modules d’électronique, optique, mécanique,….
L’histoire du Fortran
Les premiers langages de programmation étaient proches du langage machine, mais avec le développement de l’informatique la compagnie International Business Machines (IBM) publie la description d'un langage de programmation évolué appelé FORmula TRANslator (traducteur d'équations). En 1956 le premier manuel de référence d’IBM décrivait le FORTRAN I, et depuis cette date le langage Fortran n’a cessé de se développer : x 1957: FORTRAN II x 1958: FORTRAN III x 1962: FORTRAN IV x 1978: FORTRAN V Durant toute cette évolution FORTRAN a respecté toutes les anciennes normes de manière à assurer une transplantation rapide des anciens programmes sur les nouveaux compilateurs. Actuellement le FORTRAN 77 plus proche du FORTRAN V, et le FORTRAN 90 orienté vers le parallélisme des calculs, sont les plus utilisés. Dans ce qui suit on présentera le Fortran 77.

Elaboration d'un programme Fortran :
Un programme Fortran nécessite trois types de fichiers pour son élaboration :
·        Le fichier source (extension .FOR)
·        Le fichier objet (extension .OBJ )
·        Le fichier exécutable (extension .EXE).
Le programmeur écrit le fichier source à l'aide d'un éditeur de texte, ce fichier doit être ensuite traduit en langage machine par le compilateur (Chaque langage possède son propre compilateur), et le fichier obtenu est un fichier objet qui peut être exécuter.
Organisation d’un programme Fortran :
·       Règles d’écriture du programme source :
Les contenu des lignes en Fortran doit respecter les quelques règles suivantes
·        Les instructions doivent commencer à partir de la colonne 7 (ou plus) et ne doivent pas dépasser la colonne 72.
·        Une ligne de commentaire doit commencer par un C ou une * en première colonne. Tout ce qui suit le point d’exclamation ! dans une ligne est considéré comme un  commentaire.
·        Les Labels (étiquettes) sont inscrits entre les colonnes 2 et 5
·        Pour couper une instruction sur plusieurs lignes, on met un caractère en colonne 6.
·       Structure générale d’un programme :
Dans le cas général un programme fortran se présente sous la structure suivante :
PROGRAM < nom du programme>
Déclaration des données et des résultats
Ouverture des fichiers de données et de résultats
Lecture des données
Calcul et instructions de commande
Ecriture des résultats
END
Le programme peut inclure des sous programmes appelés par le programme principal.
·        PROGRAM
C’est une instruction facultative qui définit le nom du programme, sa syntaxe est :
PROGRAM < Nom du programme>
·       Déclaration
C'est dans cette partie qu'on définit les objets qui seront manipuler par le programme, la syntaxe de déclaration est :
TYPE < Liste des objets>
·       Ouverture des fichiers
L’ouverture des fichiers est nécessaire lorsque le programme est alimenté par des données inscrites dans des fichiers externes, et dans le cas ou les résultats doivent être stocker dans des fichiers externes, dans la syntaxe on indique au minimum le numéro du fichier et son chemin :
OPEN (<n°>, FILE = ‘ <Chemin et nom du fichier>’)
·       Lecture des données
Cette partie permet d’alimenter le programme par des données introduites soit directement sur clavier ou à partir d’un fichier déjà ouvert par l’instruction OPEN. On utilise l’instruction READ dont la syntaxe précise le numéro d’unité de lecture des données et le format de lecture.
·       Instructions et calcul
Les données sont manipulées par les opérations arithmétiques et logiques, et suivant l’algorithme du problème étudié (conditionnel, répétitif, …), on utilise des instructions Fortran avec une syntaxe spécifique : IF, DO, WHILE, GOTO, CONTINUE, …..etc. Cette partie peut contenir des appels aux sous programme.
·       Ecriture des résultats
Les résultats d’exécution des instructions du programme restent dans la mémoire de l’ordinateur, pour les afficher sur écran ou sur un fichier déjà ouvert par l’instruction OPEN, on emploi l’instruction WRITE avec une syntaxe qui définit l’unité de stockage des résultats et le format d’affichage.
·       END
Instruction obligatoire a la fin d’un programme ou d’un sous programme.

Cour 2
Déclarations des objets
La mémoire de l’ordinateur est partagée en un certain nombre de cellules. Une fois le programme affecte un nom a une cellule, cette dernière se prête à recevoir une donné. La déclaration d’une donnée consiste à lui réserver une place dans la mémoire par son nom, la taille réservée dépend du type de la donnée (Entier, réel, caractère, ……..).
La syntaxe d’une déclaration en fortran est :
TYPE < Liste des objets>
Les objets (données, constantes ou variables) sont séparés par des virgules.
    I.            Les données :
Les données sont soit de type numérique ( Entier, réel, double précision et complexe), soit de type caractère ou de type logique :
·       Données de type entier :
Un entier est représenté base binaire sur 4 octets (31 bits pour la valeur plus un bit pour le signe). Les valeurs représentées par le type entier sont situées sur l'intervalle [-231,231-1]. La syntaxe de déclaration est :
INTEGER <liste des données entières>
Remarque : L’utilisation d’une donnée entière hors de l’intervalle ci-dessus provoque une erreur au cours de l’exécution du programme ‘over flow
·       Données de type réel:
un réel est représenté en base 2 en virgule flottante sur 4 octets. Les valeurs représentées par le type réel simple précision sont situées dans l'intervalle [1.401x10-45 ,3.403x1038].
La syntaxe de déclaration est :
REAL < liste des objets>
·       Données de type double précision :
Le double précision est un réel plus précis, codé en virgule flottante sur 8. Les valeurs (en valeur absolue) sont comprises entre [4.941x10-324 ,1.798x10308] avec 15 chiffres significatifs. La syntaxe de déclaration est :
DOUBLE PRECISION < Liste des données double précision>
·       Données de type complexe :
Une donnée de type complexe occupe deux octets ; un octet pour la partie réelle et un octet pour la partie imaginaire. La syntaxe de déclaration est :
COMPLEX <liste des données complexes>
·       Données de type caractère :
Le Fortran a été développé principalement pour manipuler des données de type numérique a travers des formules mathématique (Formula Translator). Cependant Fortran peut manipuler même des chaînes de caractères par des opérations appropriées (Voir : Manipulation de textes). La syntaxe de déclaration d’une chaîne de caractère consiste à spécifier le nombre maximal de caractères de la chaîne :
CHARACTER*n < Liste des données caractères>
N c’est la longueur maximale des données caractères.
·       Données de type Logique :
Une donnée de type logique occupe 4 octets de mémoire, sa valeur est .True. ou .False. La syntaxe de déclaration est :
LOGICAL <Liste des données logiques>
Exemple
sur la déclaration : Séquence de programme qui déclare des quantités physiques
Program Physique
C        dans ce programme on déclare les quantités physiques suivantes : Patm : Pression C        atmosphérique , Avog : nombre d’avogadro n : nombre de proton dans le noyau
C         d’hydrogène Planck : constante de Planck,
C         Déclaration
Real Patm,  Avog
Integer n
Double precision Planck
Character*4 Poid