Vous êtes sur la page 1sur 3

Pseudocode

Mathematiques discr`etes
Pseudocode
Cours 14, MATH/COSC 1056F

Julien Dompierre

D
epartement de math
ematiques et dinformatique
Universit
e Laurentienne

12 octobre 2010, Sudbury

Exemple dun pseudocode

Voici le pseudocode dun algorithme qui trouve le plus grand


nombre dans une suite finie de nombres entiers.
proc
edure TrouveLeMaximum(a1 , a2 , ..., an : entiers)
MaximumActuel := a1
pour i := 2 `
an
d
ebut
si ai > MaximumActuel alors MaximumActuel := ai
fin
{MaximumActuel est le plus grand nombre de cette suite}

Le pseudocode constitue une etape intermediaire entre une


description des etapes dune procedure en langage courant et
une specification de cette procedure au moyen dun langage
de programmation.
Les avantages dun pseudocode sont
la simplicite avec laquelle on peut ecrire et comprendre un
algorithme ;
la facilite du produire du code informatique `a partir dun
pseudocode.

Ce pseudocode est concu de telle facon que sa structure fondamentale ressemble `a celle du langage Pascal.

Les mots clefs de cette syntaxe de pseudocode sont : `


a,
alors, d
ebut, fin, pour, si, sinon, tant que et proc
edure.

Procedure

Le pseudocode dun algorithme commence avec un enonce de la


proc
edure qui donne le nom de lalgorithme, la liste des variables
dentree et la description du type de variable que chaque entree
represente.
proc
edure proc1( arg1 : description, arg2 : description, ...)

Commentaires

Les commentaires sont des enonces mis entre accolades. De tels


enonces servent de commentaires ou de rappels expliquant le
fonctionnement de la procedure. Les commentaires ne sont pas
executes.
{ commentaires pertinents `a la bonne place }

Bloc denonces
Les enonces peuvent etre regroupes en blocs dans le cas des
procedures complexes. Ces blocs sont delimites par les enonces
d
ebut et fin et tous les enonces `a linterieur du bloc sont indentes
du meme espace.
d
ebut
enonce 1
enonce 2
enonce 3
..
.
fin

enonce n

Enonc
e daffectation

Le symbole := designe une affectation.


variable := expression
Note : Le test degalite est le symbole =. Ne pas confondre avec le
C, le C++ ou le Java o`
u laffectation est = et le test degalite
est ==.

Construction conditionnelle
La condition est testee et si elle est vraie, alors lenonce (ou le bloc
denonces) est excute.
si condition alors enonce
ou
si condition alors
d
ebut
bloc denonces
fin

Si, alors, sinon


Souvent, on a besoin dun type de construction plus general. Cela
sapplique quand on desire executer une chose quand la condition
sapplique et une autre chose dans la cas contraire.
si condition alors enonce 1
sinon enonce 2
Forme generale dune construction conditionnelle
si condition alors enonce 1
sinon si condition 2 alors enonce 2
sinon si condition 3 alors enonce 3
..
.

sinon si condition n alors enonce n


sinon enonce n + 1

Boucle tant que


La condition est evaluee, et si elle est vraie, alors les enonces qui
suivent sont executes, ce qui peut changer la valeur des variables
qui font parties de la condition.
tant que condition
enonce
ou
tant que condition
d
ebut
bloc denonces
fin

Boucle pour
Dans une boucle, la variable va de la valeur initiale `a la valeur
finale par pas de un et lenonce, ou le bloc denonces, est execute
pour chaque valeur de la variable.
pour variable := valeur initiale `
a valeur finale
enonce
ou
pour variable := valeur initiale `
a valeur finale
d
ebut
bloc denonces
fin

Appel dune procedure

Appel de la procedure proc1 avec ses arguments arg1, arg2, ...


proc1( arg1, arg2, ... )
Il y a une petite ambigute dans lappel dune procedure. Si proc1(
arg1, arg2, ... ) est seul sur une ligne, il sagit dun appel.
Dans un algorithme recursif, si il y a
proc1( arg1, arg2, ... ) := proc1( arg1, arg2, ... ),
la procedure de droite est un appel et la procedure de gauche est
une valeur de retour.