Documente Academic
Documente Profesional
Documente Cultură
Chlef
Dpartement de Chimie
2 Nov. 2014
Page 1
Dpartement de Chimie
2 Nov. 2014
Le calcul numrique connat son premier vritable essor partir du XVIIme sicle avec les progrs
fulgurants des Mathmatiques et de la Physique.
Physique Plusieurs machines de calcul sont
so en effet construites,
comme la Pascaline invente par B. Pascal en 1643, la DENO (Difference Engine Number One ; voir la
figure I.1)) de C. Babbage en 1834 mais qui fonctionnait mal, ou encore le tabulateur de H. Hollerith
spcialement conu pour recenser la population amricaine, vers 1890.
1890 Le manque de moyens de calcul
performants limite en fait l'expansion et la validation de certaines thories du dbut du XXme sicle. Ce fut
le cas en particulier de la thorie de la Relativit Gnrale due A. Einstein.
Figure I.1:
.1: Charles Babbage ( gauche), l'une des
grandes figures de l'histoire de l'ordinateur. Il fut
l'inventeur de la DENO (Difference Engine Number
One)) dont une copie est expose dans un muse de
Londres ( droite).
La Seconde Guerre Mondiale et les progrs technologiques qu'elle engendre vont permettre au calcul
numrique d'amorcer un second envol. Les anglais mettent au point le premier ordinateur en 1939,
COLOSSUS, dont la mission est de dcrypter
pter les messages cods envoys par l'metteur ENIGMA de
l'Allemagne nazie.
Les calculateurs sont dsormais entirement lectroniques. Autre machine qui fait date dans l'histoire,
lENIAC (Electronic
Electronic Numerical Integrator And Computer) construit en 1946. Malheureusement, ce type de
machine ne dispose pas de mmoire interne et doit tre en permanence reprogramme.
Page 2
Dpartement de Chimie
2 Nov. 2014
A la finn des annes 1940, un certain J. Von Neumann (voir la figure I.2) repense l'architecture des
ordinateurs et introduit, entre autres, les mmoires permettant de sauvegarder les programmes, et les
concepts
epts de hardware (matriel) et de software (logiciel). La premire machine de calcul incluant les
concepts de Von Neumann est ainsi produite par la firme
fi
amricaine IBM; elle s'appelle Mark I et pse 5
tonnes. Les premires applications concernent tous les domaines scientifiques
ques et techniques.
Vers la fin des annes 1960, l'apparition progressive des transistors et de leur assemblage massif sur des
surfaces de plus en plus rduites augmente considrablement les performances
performances des machines et permet des
simulations numriques de ralisme croissant. Apparaissent ainsi en 1970 les fameux microprocesseurs mis
au point par les firmes
rmes Intel et Motorola. Le calcul numrique devient rapidement une science part entire.
Les annes 70 marquent aussi le tournant pour les langages de programmation. Au dbut des annes 1980,
l'ordinateur
nateur le plus puissant du monde s'appelle Cray I (voir la figure
gure I.2). C'est aussi le dbut de
l'informatique familiale avec la mise sur le march des Personal Computers d'IBM.
En une quinzaine d'annes, la rapidit des calculateurs a t multiplie par plus de 10000. La vitesse
d'excution des oprations lmentaires se compte maintenant en dizaines de millions de millions
d'oprations la seconde. Les capacits de stockage ont gagn 7 ordres de grandeur au moins. Aujourd'hui,
toutes ces performances doublent
ublent tous les ans.
Page 3
Dpartement de Chimie
2 Nov. 2014
On regroupe sous le terme gnrique de mthodes numrique,, toutes les techniques de calcul qui
permettent de rsoudre de manire exacte ou, le plus souvent, de manire approche un problme donn. Le
concept de calcul est assez vaste et doit tre pris au sens large. Il peut s'agir de dterminer l'inconnue d'une
quation, de calculer la valeur d'une fonction en un point ou sur un intervalle, d'intgrer une fonction,
d'inverser une matrice, etc. Bien que la mise en quation d'un problme et sa rsolution passent naturellement
par les Mathmatiques, les problmatiques sous-jacentes
sous jacentes concernent des disciplines varies (Mcanique,
Aronautique,). Il existe ainsi une grande varit de problmes possibles avec pour chacun d'eux, des
mthodes trs spcifiques.
ques. De fait, le nombre total de mthodes numriques dont nous disposons l'heure
actuelle est vraisemblablement gigantesque.
Une mthode numrique met en uvre une certaine procdure, une suite d'opratio
oprations, gnralement en
trs grand nombre, que l'on transcrira ensuite dans un langage de programmation. Bien qu'une mthode
numrique puisse s'effectuer
ectuer mentalement (du moins avec un crayon et un papier) comme inverser une
matrice 2 2, rsoudre tan x1=
1= 0, ou calculer 2, elle ncessite dans la majorit des cas un ordinateur qui
a l'avantage de la rapidit (mais pas de la prcision).
). Il convient ce niveau de bien diffrencier
diff
la partie
mthode numrique, souvent indpendante du calculateur et du langage, et la partie programmation qui met
en uvre d'une part l'algorithme et d'autre part une suite d'instructions crites dans un langage de
programmation.
I.3 Notion de Langage de Programmation
rogrammation
Un langage est un chanon entre lhomme et la machine, un langage commun. Cest le langage
informatique. Un langage est constitu par :
Un ensemble de mots cls
Un ensemble dobjets manipulable, ventuellement extensible
Des rgles de syntaxe
De structures logiques
Programmer, cest dcrire
crire un texte respectant les rgles du langage, susceptible de rsoudre un
problme donn.
Ce texte est ensuite vrifi et traduit en une suite de codes machines par lintermdiaire dun compilateur.
Si le texte est incorrect, le compilateur indique les erreurs de compilation, quon pourrait comparer des
fautes dorthographe et de grammaire dans un langage courant.
Page 4
Dpartement de Chimie
2 Nov. 2014
Excuter le programme, cest faire drouler par la machine cette squence de codes machines ainsi cre.
I.4 Historique du langage de programmation FORTRAN
Le premier compilateur FORTRAN fut conu et implment par John Backus (IBM Lab., San Jos
California) en 1954. Il s'agissait du FORTRAN I. L'objectif de Backus tait de concevoir un langage de
programmation qui permettrait de raliser
raliser des programmes en utilisant une syntaxe la plus proche possible de
la syntaxe mathmaticienne. Le terme FORTRAN traduit cette ambition, puisqu'il
puisqu'i signifie FORmula
TRANslation.
FORTRAN I tait un peu primaire, mais quand mme trs suprieur aux assembleurs
assembleur et langages
machines utiliss au dbut des annes 50. Il volua rapidement en FORTRAN II et III.
FORTRAN prit son essor dans les annes 60, surtout partir de 1966, date laquelle l'ANSI (organisme de
standardisation amricain) publia la norme ANSI66 qui normalisa le FORTRAN IV. A partir de cette date,
tous les compilateurs utilisaient la mme syntaxe.
syntaxe. Un chercheur pouvait donc utiliser un code source crit en
FORTRAN IV sur n'importe quelle machine (bien qu' l'poque, en calcul scientifique, en dehors des
machines IBM, il n'y avait pas vraiment de salut...)
Par la suite, FORTRAN subit plusieurs volutions,
volutions, marques par la publication par l'ANSI de normes:
1978, la publication de la norme ANSI 77, qui donna le FORTRAN 77, encore largement utilis
aujourd'hui (les exemples ci-dessous
ci dessous sont crits en 77). Le FORTRAN 77 introduit la
programmation structure
ure dans les habitudes des programmeurs FORTRAN
1992, la publication de la norme ANSI 90, et pour la premire fois la reconnaissance ISO
(normalisation internationale). Le FORTRAN 90, outre quelques amliorations dans la gestion de la
mmoire, amne essentiellement
ntiellement les outils ncessaires au calcul parallle sur les machines
multiprocesseurs. Il se dcline en une nouvelle norme, qui n'est pas ANSI, et que l'on rencontre chez
certains constructeurs, dont IBM, le HPF pour High Performance FORTRAN.
1997, la dernire norme en date, qui est une norme ISO: le FORTRAN 95.
Comme tous les programmes, un programme FORTRAN est un ensemble organis d'instructions donnes
par le programmeur la machine.
Page 5
Dpartement de Chimie
2 Nov. 2014
Un programme FORTRAN comporte gnralement plusieurs modules. Ces modules peuvent figurer dans
un mme fichier ou des fichiers diffrents. Un ensemble de modules doit, pour pouvoir tre excut,
comporter un programme principal..
Le programme principal inclus entre Program et End :
Program ProgStr
<Partie dclaration>
<Partie instructions>
End
Les mots Program et End sont les mots cl FORTRAN qui dlimitent le programme principal. Le nom
n
de ce programme sera ProgStr. Il nexiste quun seul programme principal. Ce programme principal se
dcoupe en deux parties distinctes successives dtailles ci-dessous.
ci
aPartie de dclaration
Cest dans cette partie quon dfinit les objets qui seront manipuls par le programme (Les paramtres, les
variables, Initialisation et dclaration particulire,.).
bPartie des instructions
Lexcution dun programme FORTRAN consiste drouler dans lordre toutes les instructions de la
partie excutable du programme principal.
incipal. La liste d'instructions borne par Program et End forme un bloc
Page 6
Dpartement de Chimie
2 Nov. 2014
fonctionnel.. Ce bloc fonctionnel forme un programme FORTRAN tout fait correct qui pourrait tre
compil et excut. Evidement, il ne ferait pas grand chose...
Certaines instructions droulent le pointeur de programme vers dautres types blocs fonctionnels :
Subroutine nom
<Liste dinstructions>
End
Et :
Type function nom
<Liste dinstructions>
End
Ces deux blocs sont utiliss pour allger le programme principal de calculs
ls ou de traitements rptitifs.
rptitifs
Un programme FORTRAN classique ressemble donc quelque chose comme a:
Program ProgStr
<Partie dclaration>
<Partie instructions>
End
Subroutine nom
<Liste dinstructions>
End
Type function nom
<Liste dinstructions>
End
Les contenu des lignes en Fortran doit respecter les quelques rgles suivantes :
Une ligne de commentaire doit commencer par un c ou une * en premire colonne.
Tout ce qui suit un ! dans une ligne est aussi considr comme un commentaire.
commentaire
Page 7
Dpartement de Chimie
2 Nov. 2014
Les instructions :
oivent commencer partir de la colonne 7 (ou plus) ;
doivent
nee doivent pas dpasser la colonne 72.
Les Labels (ou tiquettes) sont entre les colonnes 2 et 5.
Pour couper une instruction sur plusieurs lignes, on met un caractre quelconque (ex : &) en colonne
6 des lignes de suite.
La figure I.3 illustre ces rgles.
1 2 3 4 5 6 7
72 73 74 75 76 77 78 79 80
i g n e de commentaire
i g n e de commentaire
R eal a
1 0
c o n t i n u e
Figure 1.3:
1. Structure dune ligne en FORTRAN.
I.5.4 Elments de base
Lorsquon crit un programme, on utilise de lalphabet, les chiffres et quelques signes. En FORTRAN, les
caractres reconnus par le compilateur sont :
Les 36 caractres alphanumriques :
Les 10 chiffres.
Les 26 lettres de lalphabet.
Les caractres spciaux :
Espace typographique
( ) Parenthses
+ Plus
, Virgule
- Moins
; Point virgule
= Egal
. Point
Astrisque (toile)
/ Barre de fraction
' Apostrophe
Remarque : chaque instruction ; sauf linstruction daffectation ; commence par un mot cl du FORTRAN.
Page 8