Vous êtes sur la page 1sur 8

Universit Hassiba BenboualiChlef

Chlef

Anne Universitaire: 20142015


2014

Facult des Sciences

Niveau: 2ime AnneSemestre


Anne
III

Filire: Sciences de la Matire

Module : Mthodes dAnalyse Numriques


Numrique

Dpartement de Chimie

2 Nov. 2014

CHAPITRE I Initiation au langage de programmation FORTRAN


I.1 Historique du calcul numrique ................................................................................................
........................................................2

I.2 Notion de Mthodes Numriques


umriques ................................................................................................
.................................................4
I.3 Notion de Langage de Programmation
rogrammation .......................................................................................................4
I.4 Historique
ue du langage de programmation FORTRAN................................................................
................................................ 5
I.5 Les
es bases du langage de programmation FORTRAN ................................................................
.....................................................5
I.5.1 Gnralits sur le langage FORTRAN .......................................................................................................5
I.5.2 Organisation d'un programme FORTRAN ................................................................
................................................................6

aPartie de dclaration ................................................................................................


................................
............................................................6
bPartie des instructions ................................................................................................
................................
.........................................................6
I.5.3 Structure dune ligne d'un programme FORTRAN ................................................................
............................................... 7
I.5.4 Elments de base ................................................................................................
................................
.................................................................. 8
I.5.5 Les sparateurs ................................................................................................
................................
..................................................................... 9
I.5.6 Les mots cls ................................................................................................................................
................................
...................................... 10
I.5.7 Les commentaires ................................................................................................
................................
............................................................... 10
I.5.8 Les identificateurs ................................................................................................
................................
.............................................................. 11
I.5.9 Les diffrents types de donnes ................................................................................................
.......................................... 11
I.5.10 Les constantes et les variables ................................................................................................
........................................... 12
I.5.10.1 Les constantes................................................................................................
................................
........................................................ 12
I.5.10.2 Les variables ................................................................................................
................................
.......................................................... 14
I.5.11 Rgle de typage implicite................................................................................................
................................
.................................................. 19

Page 1

Universit Hassiba BenboualiChlef


Chlef

Anne Universitaire: 20142015


2014

Facult des Sciences

Niveau: 2ime AnneSemestre


Anne
III

Filire: Sciences de la Matire

Module : Mthodes dAnalyse Numriques


Numrique

Dpartement de Chimie

2 Nov. 2014

I.1 Historique du calcul numrique

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

Universit Hassiba BenboualiChlef


Chlef

Anne Universitaire: 20142015


2014

Facult des Sciences

Niveau: 2ime AnneSemestre


Anne
III

Filire: Sciences de la Matire

Module : Mthodes dAnalyse Numriques


Numrique

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.

Figure 1.2: John L. Von Neumann (


( gauche). Le Cray I (
droite) construit
construi dans les annes 1980 dispose d'une
puissance de calcul de 160 millions d'oprations
d'oprations la
seconde.

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

Universit Hassiba BenboualiChlef


Chlef

Anne Universitaire: 20142015


2014

Facult des Sciences

Niveau: 2ime AnneSemestre


Anne
III

Filire: Sciences de la Matire

Module : Mthodes dAnalyse Numriques


Numrique

Dpartement de Chimie

2 Nov. 2014

I.2 Notion de Mthodes Numriques


umriques

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

Universit Hassiba BenboualiChlef


Chlef

Anne Universitaire: 20142015


2014

Facult des Sciences

Niveau: 2ime AnneSemestre


Anne
III

Filire: Sciences de la Matire

Module : Mthodes dAnalyse Numriques


Numrique

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.

Le FORTRAN est donc un langage qui a un demi-sicle


demi sicle d'existence, mais qui reste un des plus utiliss en
calcul scientifique
I.5 Les
es bases du langage de programmation FORTRAN
I.5.1 Gnralits sur le langage FORTRAN

Comme tous les programmes, un programme FORTRAN est un ensemble organis d'instructions donnes
par le programmeur la machine.
Page 5

Universit Hassiba BenboualiChlef


Chlef

Anne Universitaire: 20142015


2014

Facult des Sciences

Niveau: 2ime AnneSemestre


Anne
III

Filire: Sciences de la Matire

Module : Mthodes dAnalyse Numriques


Numrique

Dpartement de Chimie

2 Nov. 2014

Un programme FORTRAN ncessite 3 types de fichiers pour son laboration :


Fichier source (extension : nom.for, nom.f90..)
Fichier objet (extension : nom.obj)
Fichier excutable (extension : nom.exe)
Le programmeur crit le fichier source laide dun diteur de texte de son choix (Figure I.3). Il sagit
dun texte clair contenant les instructions du programme.
pr
Le fichier source doit ensuite compil (c.--d.
(c.
traduire en langage machine). Le fichier obtenu aprs compilation est un fichier objet pas encore excutable.
Lditeur de lien se charge de le rendre excutable. Toute modification, correction dun programme passe
tout dabord par la modification du fichier source. Ce fichier doit tre ensuite recompil,
recompil ce qui permet
dobtenir un fichier objet mise jour.
I.5.2 Organisation d'un programme FORTRAN

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

Universit Hassiba BenboualiChlef


Chlef

Anne Universitaire: 20142015


2014

Facult des Sciences

Niveau: 2ime AnneSemestre


Anne
III

Filire: Sciences de la Matire

Module : Mthodes dAnalyse Numriques


Numrique

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

Il reste maintenant le plus gros du travail: identifier et comprendre


comprendre ce que l'on entend par < liste
d'instructions >.
I.5.3 Structure dune ligne d'un programme FORTRAN

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

Universit Hassiba BenboualiChlef


Chlef

Anne Universitaire: 20142015


2014

Facult des Sciences

Niveau: 2ime AnneSemestre


Anne
III

Filire: Sciences de la Matire

Module : Mthodes dAnalyse Numriques


Numrique

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