Vous êtes sur la page 1sur 17

Programmation en Fortran 90

Généralité
Sources :
Wikipedia
http://portailmediaconnect.free.fr/
http://math.unice.fr/~nkonga/Cours/
http://perso.ensta-paristech.fr/
http://www.techniques-ingenieur.fr/
http://perso.fundp.ac.be/
http://www.info.univ-angers.fr/
https://www-n.oca.eu/pichon/F90_cours_V6.7.pdf
https://wiki-geek.xyz/references_geek/premier-programmeur-
informatique-etait-femme-ada-lovelace/
http://www.info.univ-angers.fr/~gh/hilapr/histoire.htm#an1950
Un peu d’histoire...
En 820, le mathématicien El Khawarizmi a publié à
Bagdad un traité intitulé :
‫ﻛﺗﺎﺏ ﺍﻟﻣﺧﺗﺻﺭ ﻓﻲ ﺣﺳﺎﺏ ﺍﻟﺟﺑﺭ ﻭﺍﻟﻣﻘﺎﺑﻠﺔ‬
Ce livre importé en Europe Occidentale lors des
invasions arabes a eu une grande influence sur le
développement des mathématiques ;

En 1843, Ada Lovelace (1814-1852), mathématicienne


réussi à faire exécuté un programme sur la machine à
différences de Charles Babbage, ce qui fait d’elle la
première programmeuse ;

Grace Murray Hopper (1906-1992), une américaine


travaillant dans la marine américaine, développe le tout
premier compilateur nommé A0. Il permet de générer
un programme binaire à partir d'un "code source".
Un peu d’histoire...
En 1950, l'invention de l'assembleur par Maurice V.
Wilkes de l'université de Cambridge,

En 1954, publication de la description de la première


version de Fortran par un Ingénieur de chez IBM John
Backus

En 1955, Grace Murray Hopper invente le FLOW-


MATIC le premier langage s’inspirant de l’anglais,
dévelopé pour UNIVAC
Qu’est ce qu’un langage de
programmation informatique ?
Un langage de programmation informatique est une notation
conventionnelle destinée à formuler des algorithmes et produire
des programmes informatiques qui les appliquent.
Ce langage est composé : d'un alphabet, d'un vocabulaire, de
règles de grammaire et de significations
Il doit satisfaire les caractéristiques suivantes:
Utilisabilité
Performances
Portabilité
Extensibilité
Pérennité
Quelques langages de
Programmation
Qu'est-ce qu'un programme
informatique?
Un programme informatique est une succession d'instructions
exécutable par l'ordinateur.
Mais
L'ordinateur ne comprend et ne manipule qu’un langage binaire,
c'est-à-dire une succession de 0 et de 1.
Donc
Il est nécessaire d'utiliser un langage de programmation pour
écrire des instructions compréhensibles par l'humain car
proches de son langage.
Comment on construit un
programme informatique?
Le code source est écris par un informaticien dans un simple
fichier texte à l’aide un éditeur de texte,
Le compilateur transforme le code source en code objet, et le
sauvegarde dans un fichier objet,
Un éditeur de liens (linker) permet d'intègrer dans le fichier final
tous les éléments annexes (fonctions ou librairies),
Un fichier exécutable est crée ensuite et qui contient tout ce dont
il a besoin pour fonctionner de façon autonome.

Fichier source Fichier objet Fichier exécutable

Compilation Linker
Comment écrire un programme
informatique ?
Il y a 4 étapes principales:
1. spécifiez le problème,
2. analyser et diviser en une série d'étapes vers la solution,
3. Écrire le code,
4. compiler et exécuter (c'est-à-dire tester le programme) ;
Il peut être nécessaire d'itérer entre les étapes 3 et 4 afin
d'éliminer toute erreur.
La phase de test est très importante (version bêta).
Génie logiciel
La généricité : C’est le fait pour un objet de pouvoir être utilisé tel
quel dans différents contextes (ou même indépendamment du
contexte).

La modularité : La partie la plus importante de l’écriture de


programmes consiste à les structurer pour les présenter comme
un assemblage de briques qui s’emboîtent naturellement. Ce
problème est fondamental dû à la taille conséquente des
programmes. La modularité est le fait de structurer un programme
en modules indépendants réduisant le coût de la compilation
séparée et de la reconstruction incrémentale, tout en maintenant
des possibilités d’évolutions.
Génie logiciel (suite)

L’encapsulation : L’encapsulation consiste à rassembler des


données et/ou des objets au sein d’une structure en masquant
l’implémentation de l’objet. Il permet aussi de garantir l’intégrité
des données contenues dans l’objet.

La récursivité : C’est le fait pour un objet (programme ou une


procédure) de s’appeler au moins une fois lui-même. Il permet de
résoudre de façon élégante certains problèmes, soit par
l’implémentation, soit par le simple fait de penser le problème en
terme de récursivité
Définition du FORTRAN
Le fortran (FORmula TRANslation en français :
système de traduction de formules) est le
premier langage informatique de haut niveau.
L’objectif était principalement de faciliter les
simulations numériques sur les ordinateurs
Langage le plus utilisé dans les applications
non commerciales (scientifiques).
Historique
1954 : Publication de la description de FORmula TRANslation
par Ingénieur chez IBM John Backus (langage proche de
l'assembleur);
1956 : Premier manuel de référence de Fortran I
1957 : Livraison des premiers compilateurs (langage proche de
l'assembleur);
1966 : Fortran 66 (s'est détaché du matériel) ;
1978 : Fortran 77 (La programmation structurée)
1992 : Fortran 90
1997 : Fortran 95
2003 : Fortran 2000, programmation orienté objets
Les compilateurs Fortran
Le compilateur libre GCC permet de compiler le Fortran 77 jusqu’à
la version 3.4.6
En 2005, le compilateur gfortran (GCC 4.0.0) il permet de
compiler du Fortran 90.
En 2013, gfortran prend pleinement en charge le standard Fortran
95, et une partie de Fortran 2003 et Fortran 2008. La priorité est
donnée à l’amélioration de vitesse du code.
Open64 compilateur libre de Fortran 95
Plusieurs compilateurs commerciaux
− Lahey,
− Absoft24,
− PathScale,
− Portland Group
− Intel,
− ….
Fortran 90
Prends en charge totalement Fortran 77;
Introduction du format libre (Les lignes peuvent aller jusqu'à 132
caractères) ;
Espaces significatifs même hors des libellés ;
Jusqu'à 39 lignes « suite » possibles
Plusieurs instructions par ligne
« ! » utilisable comme signe de commentaire
Constructions CYCLE / EXIT / WHILE / CASE
Spécifications directes sur tableaux. Si A et B sont des tableaux,
on peut écrire A=B*SIN(A)
Gestion dynamique de mémoire, avec pointeurs
Fonctions récursives
Types définis par l'utilisateur
Fortran 90
Surcharge d'opérateurs (polymorphisme ad hoc) et appels
génériques
Utilisation d'interfaces pour les sous-routines appelées
Introduction des modules (espace de noms)
Inclusion de textes sources depuis des fichiers
Pourquoi Fortran en 2017 ?
Aujourd'hui, le langage Fortran reste très utilisé pour 3 raisons
essentielles :
− la présence de très nombreuses bibliothèques de fonctions,
mises au point et améliorées durant de nombreuses années;
− l'existence de logiciels en Fortran ayant demandé des
ressources très importantes pour leur développement, et dont
le passage à un autre langage est jugé trop coûteux ;
− l'existence de compilateurs performants qui produisent des
exécutables très rapides

Vous aimerez peut-être aussi