Vous êtes sur la page 1sur 4

Notions de base

1. Quest-ce quun algorithme ?


Dfinition
Un algorithme est une succession dinstructions enchaner dans un ordre bien prcis,
permettant de rsoudre un problme de faon systmatique. Il est crit dans un langage
comprhensible par tous.

Remarque : Un algorithme peut prendre en entre une ou plusieurs valeurs, et donner en sortie une ou plusieurs valeurs,
en rponse au problme.
Construction dun algorithme
Un problme pos est dcompos en une succession de problmes plus simples, jusqu obtenir
une succession dinstructions lmentaires, par exemple de type suivant :
affecter une valeur ; entrer une valeur ; afficher une valeur ;
additionner, soustraire, multiplier, diviser deux valeurs ;
comparer deux valeurs.
Pour relier les diffrentes instructions lmentaires, on peut utiliser :
une condition : Si alors, Si alors sinon.
une boucle, cest--dire une rptition dun certain nombre dactions : Pour faire, Tant que faire.

Remarque : La lisibilit dun algorithme est trs importante : lorsquon rdige un algorithme, il faut toujours avoir lide
que toute personne ne layant pas conu doit tre capable de comprendre comment il sexcute, et quel problme il rpond.

2. Instructions lmentaires
Affectation
Il sagit daffecter une valeur une variable, valeur qui peut tre de plusieurs types : numrique
(entier ou rel), alphanumrique (texte), boolen (vrai ou faux).
Syntaxe : var val ; on affecte la valeur val la variable var .

Exemple : a 2 ; on affecte la valeur 2 la variable a.


b a + 3 ; on affecte la variable b le contenu de la variable a auquel on ajoute 3, cest--dire 5.
Entre dune valeur
Au moment de lexcution de lalgorithme, lutilisateur affecte une valeur une variable. Lors du
fonctionnement de lalgorithme, celui-ci sarrte cette instruction et ne se poursuit que lorsque
lutilisateur a entr une valeur.
Syntaxe : Entrer ( var ) ; lorsque lutilisateur a entr une valeur, celle-ci est stocke dans la
variable var .

Remarque : Lorsquon souhaite entrer plusieurs variables, on les spare par des virgules.
Exemple : Entrer (a , b) . lexcution de lalgorithme, lutilisateur saisira deux valeurs. La premire sera stocke dans
la variable a, la deuxime dans la variable b.
Affichage dune valeur
Il sagit dafficher la valeur dune variable. Syntaxe : Afficher ( var ) .

Remarque : Lorsquon souhaite afficher plusieurs variables, on les spare par des virgules.
Lorsquon souhaite afficher du texte, on le place entre des guillemets .

Exemple : Afficher ( La valeur de x est , x ) .

10
Mthode

Rdaction dun algorithme


Afin quun algorithme puisse tre comprhensible pour tout lecteur qui le dcouvre, il doit tre rdig de
faon claire et selon quelques rgles.
Un algorithme comporte deux parties : la dclaration des variables et le corps de lalgorithme.
Quelques rgles pour rdiger la dclaration des variables
La dclaration des variables est introduite par le terme Variables .
Les variables utilises dans lalgorithme sont accompagnes par leur type (entier (relatif), rel, texte ou boolen (vrai ou
faux). Le nom des variables est spar de leur type par deux points.
Si plusieurs variables sont de mme type, on les dclare sur la mme ligne en les sparant par une virgule.
Chaque dclaration se termine par un point-virgule et un passage la ligne.

Remarques :
1. Cette partie est facultative, mais rend lalgorithme plus comprhensible.
2. Lorsque lalgorithme a t excut, les valeurs des variables ne sont pas conserves pour les excutions suivantes.

Conseils :
1. Cette partie scrit une fois lalgorithme mis en place pour tre sr de navoir oubli aucune variable.
2. On essayera le plus possible de choisir des noms adapts pour les variables.

Quelques rgles pour rdiger le corps de lalgorithme


Le corps de lalgorithme comprend la suite des instructions excuter. Celui-ci dbute par Dbut et se termine par
Fin .
Chaque instruction se termine par un point-virgule et un passage la ligne.
Pour plus de lisibilit, on utilise des retraits gauches en alignant les instructions de mme niveau.

Conseils :
Une fois lalgorithme crit, on le teste la main en le faisant fonctionner avec quelques valeurs pour ventuellement le
corriger. On doit se poser les deux questions suivantes :
Le rsultat est-il bien celui que lon attend ?
Lalgorithme sarrte-t-il ? (on dit : lalgorithme se termine-t-il ?).
Si la rponse est positive ces deux questions, on dit que lalgorithme est correct.

Applications
1. Calculer limage dun rel par la fonction f dfinie sur R 2. Calculer la moyenne arithmtique des notes
par : f ( x ) = x 2 + 5 . de deux devoirs.

Voici un algorithme possible : Voici un algorithme possible :

Algorithme CalculImage
Algorithme Moyenne
Variables :
Variables :
x , y : rels ;
note1, note2, m : rels ;
Dbut
Dbut
Afficher ( Entrer la valeur de x ) ;
Entrer ( note1 , note2 ) ;
Entrer ( x ) ;
m ( note1 + note2 ) 2 ;
y x2 + 5 ;
Afficher ( La moyenne est , m ) ;
Afficher ( Limage de x est , y ) ;
Fin.
Fin.
Notions de base

3. Instructions conditionnelles
Condition Si alors
Syntaxe : Si proposition alors ActionsSi ; FinSi ;
proposition est de type boolen (vrai ou faux) ;
ActionsSi est une instruction lmentaire ou une succession dinstructions lmentaires.
Si la proposition est vraie, lalgorithme effectue ActionsSi puis passe la suite de l'algorithme.
Dans le cas contraire, il passe directement la suite de lalgorithme.

Condition Si alors sinon


Syntaxe : Si proposition alors ActionsSi ; sinon ActionsSinon ; FinSi ;
proposition est de type boolen (vrai ou faux) ;
ActionsSi et ActionsSinon sont des instructions ou des successions dinstructions lmentaires.
Si la proposition est vraie, lalgorithme effectue ActionsSi. Dans le cas contraire, il effectue
ActionsSinon. Ensuite, il passe la suite de lalgorithme.

Exemple : Lalgorithme ci-contre renvoie le signe du nombre entr.


Algorithme Signe
Variables : x : rels ;
Quelques complments Dbut
On peut demander que deux ou plusieurs conditions soient rali- Entrer ( x ) ;
ses simultanment en utilisant la syntaxe et .
Si ( x 0 ) alors
Exemple : Si ( x > 0 ) et ( x < 3 ) alors Afficher ( x , est positif ) ;
Afficher ( x appartient ]0 ; 3[ ) ; FinSi ;
sinon Afficher ( x , est ngatif ) ;
On peut demander quune condition (au moins) parmi plusieurs soit FinSi ;
ralise en utilisant la syntaxe ou . Fin.
Les tests peuvent tre imbriqus les uns dans les autres.

4. Boucles et itrations
Boucle Pour faire
Syntaxe : Pour i allant de dbut fin faire
Actionsi ;
FinPour ;
dbut et fin sont deux entiers.
i est une variable entire.
Actionsi est une instruction ou une succession dinstructions lmentaires, pouvant dpendre
de i (ou non).
Droulement de la boucle
i prend la valeur dbut. On effectue Actionsdbut .
i augmente de 1 (on dit sincrmente de 1 ), on effectue donc Actionsi .
Puis i augmente encore de 1, on effectue alors de nouveau Actionsi .
Et ainsi de suite jusqu ce que i prenne la valeur fin, o lon effectue pour la dernire fois
Actionsi . On passe alors la suite de lalgorithme.

Vocabulaire : i sappelle le compteur, la suite dinstructions Actionsi sappelle suite ditrations.

12
Notions de base

Commentaires
Si dbut > fin, aucune itration nest ralise.
Lincrmentation du compteur se fait de faon automatique dans une boucle Pour faire.
Le nombre ditrations est : fin dbut + 1.
Lutilisation de cette boucle prsuppose que lon connaisse le nombre ditrations faire.
Remarque
Une variante de la boucle Pour faire consiste dcrmenter (cest--dire diminuer de 1) le compteur i. La syntaxe est
alors : Pour i descendant de dbut fin faire FinPour .

Exemple : Faire la somme des n premiers entiers non nuls.


Lalgorithme suivant calcule la somme des premiers entiers non nuls : Algorithme SommeEntiers
Variables : n , i , S : entiers ;
Dbut
Phase dinitialisation
Entrer ( n ) ;
S0 ;
Lalgorithme calcule de proche en proche Pour i allant de 1 n faire
cette somme et laffecte S SS+i ;
FinPour ;
Voir lexercice rsolu 1 pour le fonctionnement pas pas. Afficher (S)
Fin.

Boucle Tant que faire


Syntaxe : Tant que proposition faire
ActionsTantQue ;
FinTantQue ;
proposition est de type boolen (vrai ou faux),
ActionsTantQue est une instruction lmentaire ou une succession dinstructions lmentaires.
Droulement de la boucle
On teste la proposition. Si elle est vraie, on effectue ActionsTantQue. Puis on teste de nouveau
la proposition. Si elle est encore vraie, on effectue de nouveau ActionsTantQue. Et ainsi de
suite jusqu ce que la proposition soit fausse, auquel cas on passe la suite de lalgorithme.

Vocabulaire : la suite dinstructions ActionsTantQue sappelle suite ditrations.


Commentaires
Le nombre ditrations est a priori inconnu.
Il est indispensable qu un moment donn, lune des instructions de Actions- Algorithme SommeEntiersBis
TantQue rende proposition fausse, sinon lalgorithme ne sarrte jamais. On dit Variables : n , i , S : entiers ;
alors que lalgorithme effectue une boucle infinie. Dbut
Entrer ( n ) ;
Exemple : Faire la somme des n premiers entiers non nuls. S0 ;
(2e construction possible) i1 ;
Lalgorithme suivant calcule la somme des premiers entiers non nuls : TantQue i n faire
SS+i ;
Linstruction i i + 1 incrmente le compteur i.
ii+1 ;
Loubli de cette instruction serait dramatique : i serait bloqu
FinTantQue ;
la valeur 1, et la proposition i n serait toujours vraie :
Afficher (S)
lalgorithme tournerait indfiniment !
Fin.

Commentaire
Une boucle TantQue dans laquelle on connat le nombre ditrations peut remplacer une boucle Pour , comme dans
lexemple ci-dessus : il suffit dintroduire un compteur. En revanche la rciproque est fausse ! (voir lexercice rsolu 2)

13