Vous êtes sur la page 1sur 19

Université d’Etat D’Haiti (UEH)

Campus Henry Christophe de Limonade d’Etat d’Haiti à Limonade (CHC-UEHL)

Cours d’Algorithmique (Module 2)


Les Structures Alternatives et Répétitives
Faculté des Sciences et Génie (FSG)

Professeur BIRON James Yvrosito Karly, Ing. Réseau et Telecom


 Structure Alternative ou Conditionnelle
Réduite
Complète
Imbriquée
A choix multiple
Exercices d’application

 Structure Répétitive ou Itérative (Boucle)


Boucle ………… pour
Boucle …………. Tant…que
Boucle …………. Répéter…jusqu’à
Exercices d’application

Professeur BIRON James Yvrosito Karly, Ing. Réseau et Telecom


 Structure alternative
Lors du cours sur les actions simples, les problèmes traités possèdent des solutions
élémentaires constituées d’une suite finie et ordonnée d’actions simples. En réalité, les
problèmes sont plus complexes que ça. La résolution de certains d’entre eux ne peut se
faire que sous condition et pour chaque condition un traitement spécifique sera déclenché
et exclura les traitements des autres conditions. On doit alors trouver une autre structure
algorithmique capable de prendre en charge les différents traitements relatifs aux
différentes conditions et d’en déclencher exclusivement le traitement qui respecte une
certaine condition.

Une telle structure est appelée Structure Conditionnelle. On distingue plusieurs formes :
 Structure Conditionnelle à un seul choix ou réduite.
 Structure Conditionnelle à deux choix ou complète.
 Structure Conditionnelle imbriquée.
 Structure Conditionnelle à choix multiple.
Professeur BIRON James Yvrosito Karly, Ing. Réseau et Telecom
Une structure alternative (ou structure conditionnelle) n’offre que deux issues
possibles à la poursuite de l’algorithme, qui s’excluent mutuellement. Selon qu’une
condition est vraie ou fausse, on effectue un traitement ou un autre. On parle de
traitements conditionnels. Une structure alternative est donc une structure de test.

La résolution de certains problèmes nécessite parfois la mise en place d’un test pour
effectuer une tâche :
si le test est positif, on effectue un certain traitement ;
sinon, c’est-à-dire si le test est négatif, on effectue un autre traitement.

Professeur BIRON James Yvrosito Karly, Ing. Réseau et Telecom


 Structure alternative à simple choix ou réduite
Il s’agit d’un traitement qui ne peut s’exécuter que si une condition logique est
satisfaite ; dans le cas contraire, rien ne devrait se passer.

Syntaxe
Si (Condition_Satisfaite) Alors
<Traitement>
Finsi

 Structure alternative à double choix ou complète


Il s’agit d’un traitement qui ne peut s’exécuter que si une condition logique est
satisfaite ; dans le cas contraire, un autre traitement sera exécuté.

Professeur BIRON James Yvrosito Karly, Ing. Réseau et Telecom


Syntaxe
Si (Condition_Satisfaite) Alors
<Traitement1>
fsi
Sinon
<Traitement2>
Finsinon

 Structure Conditionnelle Imbriquée


Il s’agit d’un traitement qui ne peut s’exécuter que si une condition logique est
satisfaite ; dans le cas contraire, un autre traitement sera exécuté. Les différents
traitements ne comportent plus uniquement des actions simples mais on peut leur
imbriquer des structures conditionnelles.

Professeur BIRON James Yvrosito Karly, Ing. Réseau et Telecom


Syntaxe
Si (condition) Alors
traitement 1 ; (instructions à effectuer si la condition 1 est vérifiée)
FinSi
Sinon
Si (condition 2) Alors
traitement 2 ; (instructions à effectuer si la condition 2 est vérifiée)
 FinSi
Sinon
traitement 3 ; (instructions à effectuer si les conditions ne sont pas vérifiées)
FinSinon
FinSinon

Professeur BIRON James Yvrosito Karly, Ing. Réseau et Telecom


 Structure Conditionnelle à Choix Multiple
Par définition, une structure à choix multiple est une structure qui à partir d’un choix
va se positionner sur le bon traitement sans passer par les autres ; on la note par
SELON.

Syntaxe
Selon (nomvariable) Faire
Cas Val1 : <Traitement1>
Cas val2 : <Traitement2>
…..
Cas valN : <TraitementN>
Sinon <Traitement_erreur>
FinSelon

Professeur BIRON James Yvrosito Karly, Ing. Réseau et Telecom


Remarques :
 nomvariable est appelée Sélecteur ou Variable de choix.
 Le sélecteur doit être déclaré et comporter une valeur avant d’être impliqué dans le
Selon.
 Val1, Val2, …., ValN doivent être de même type que nomvariable.
 Les valeurs Val1,…., ValN ne peuvent avoir que les types suivants :
 Entier
 Caractère
 Intervalle d’entiers
 Intervalle de caractères.
 Les traitements relatifs aux valeurs peuvent comporter également d’autres structures
conditionnelles.

Professeur BIRON James Yvrosito Karly, Ing. Réseau et Telecom


 Les structures itératives ou répétitives (Les boucles)
Une structure répétitive est une structure qui répète un même traitement autant de fois
que l’on veut pour vue que la condition d’exécution soit satisfaite. Cette structure
s’arrête lorsque cette condition n’est plus vérifiée.

On distingue trois sortes de boucles en langages de programmation :

 Les boucles pour ou avec compteur : on y répète des instructions en faisant évoluer
un compteur (variable particulière) entre une valeur initiale et une valeur finale.
 Les boucles tant que : on y répète des instructions tant qu'une certaine condition est
réalisée.
 Les boucles répéter jusqu'à : on y répète des instructions jusqu'à ce qu'une certaine
condition soit réalisée.

Professeur BIRON James Yvrosito Karly, Ing. Réseau et Telecom


 La structure POUR … ALLANT DE … A …, FAIRE

La boucle Pour est une structure répétitive qui itère le même traitement pour une plage
de valeurs entières comprises entre une borne inférieure et une borne supérieure. La
mise à jour étant
automatique, l’arrêt du traitement de la boucle Pour se réalise lorsqu’on dépasse l’une
des bornes.

En algorithmique, on traduit cette structure itérative à l’aide des instructions suivantes :


Pour indice allant de valeur initiale à valeur finale, [Pas = Valeur pas] ) Faire
<traitement >
FinPour

Professeur BIRON James Yvrosito Karly, Ing. Réseau et Telecom


Avec
 indice : variable de type entier servant de compteur.
 Valeur initiale : valeur initiale que va prendre l’indice.
 Valeur finale : valeur finale que prendra l’indice.
 Pas : contient une valeur entière indiquent la valeur de l’incrémentation de l’indice
(mise à jour de l’indice).
Du fait que le nombre d'itérations est connu à l’avance, on se sert d'un compteur qui sera
initialisé automatiquement à la valeur initiale et sera incrémenté de la valeur du pas,
jusqu'à la valeur finale.

Professeur BIRON James Yvrosito Karly, Ing. Réseau et Telecom


 Exécution de la Boucle Pour :
On suppose qu’on est déjà en train d’exécuter un algorithme, et on a rencontré une
boucle Pour.
 1ère étape : Affectation de Valeur initiale au compteur I et vérification si cette
valeur est dans l’intervalle ou non.
 2ème étape : Si la valeur de l’indice est dans l’intervalle alors aller à la 3ème
étape, sinon aller à la 5ème étape.
 3ème étape : Exécution du traitement de la boucle.
 4ème étape : Incrémentation automatique de la valeur de l’indice en fonction de
la valeur du Pas (I I +Val_pas ou I I – Val_pas) et retour à la 2ème étape.
 5ème étape : Sortie de la boucle et suite de l’exécution du programme à partir de
la première
 instruction qui vient après Finpour.

Professeur BIRON James Yvrosito Karly, Ing. Réseau et Telecom


Autres remarques :
Il faut éviter de modifier la valeur du compteur (et de finale) à l'intérieur de la boucle.
En effet, une telle action :
 Perturbe le nombre d'itérations prévu par la boucle Pour
 Rend difficile la lecture de l'algorithme
 Présente le risque d'aboutir à une boucle infinie

Exemple
Concevoir un algorithme qui calcule le carré de tous les entiers compris entre 1 et 50.

Professeur BIRON James Yvrosito Karly, Ing. Réseau et Telecom


 La structure TANT QUE …, FAIRE
La boucle Tant que permet d’exécuter le corps de la boucle lorsque la condition
d’exécution est vérifiée ; on s'arrêtera dès que la condition n’est plus vérifiée.

Syntaxe
TantQue (Condition_exécution_vérifiée) Faire
<traitement>
< mise_à_jour_condition_exécution>
FinTantQue

Professeur BIRON James Yvrosito Karly, Ing. Réseau et Telecom


Remarques :
 Dans une boucle Tant que, on parle de condition d’exécution ; quand elle n’est plus
vérifiée, on sort de cette boucle.
 Il est indispensable d’initialiser correctement les variables de la condition
d’exécution et de les mettre à jour à la fin de chaque itération : condition nécessaire
et obligatoire pour pouvoir reboucler.
 Une condition d’exécution est la négation de la condition d’arrêt.

Professeur BIRON James Yvrosito Karly, Ing. Réseau et Telecom


Exécution de la Boucle Tant que

On suppose qu’on est déjà entrain d’exécuter un algorithme, et on a rencontré une boucle
Tant que.
On suppose également que les variables impliquées dans la condition d’exécution sont
initialisées.
 1ère étape : On teste si la condition d’exécution est vérifiée ou non : si oui alors aller
à la 2ème tape sinon aller à la 5ème Étape.
 2ème étape : On exécute le traitement associé à la boucle.
 3ème étape : On met à jour les variables de la condition d’exécution.
 4ème étape : Aller à la 1ère étape.
 5ème étape : On sort de la boucle et on continue l’exécution du programme à partir de
la première instruction qui vient après Fin Tant que.

Professeur BIRON James Yvrosito Karly, Ing. Réseau et Telecom


 La structure Répéter … Jusqu’à …
La boucle Répéter permet de rentrer dans la boucle quelque soit la condition et réitère
l’exécution jusqu'à ce que la condition d'arrêt soit atteinte.

Syntaxe
Répéter
Instructions (instructions à effectuer) ;
Jusqu’à (condition_arrêt_atteinte);

Remarques:
 Dans ce type d’instruction, le test est effectué à la fin de la boucle, si bien que le traitement est
exécuté au moins une fois, que la condition soit ou non vérifiée au début.
 Dans une boucle Répéter, le traitement est exécuté au moins une seule fois quelle que soit
 La valeur de la condition d’arrêt. Dans une boucle Répéter, on parle de condition d’arrêt ; quand
elle est atteinte, on sort de cette boucle.

Professeur BIRON James Yvrosito Karly, Ing. Réseau et Telecom


Exécution de la Boucle Répéter
On suppose qu’on est déjà en train d’exécuter un algorithme, et on a rencontré une
boucle Répéter.
 1ère étape : on entre directement dans le traitement associé à Répéter et on
l’exécute.
 2ème étape : on met à jour les variables impliquées dans la condition d’arrêt.
 3ème étape : on teste la condition d’arrêt : si elle n’est pas atteinte, on revient à la
ère étape, sinon on passe à la 4ème étape.
 4ème étape : la condition d’arrête étant atteinte, on sort de la boucle Répéter et on
continue
 L’exécution du programme à partir de la 1ère instruction qui vient après Jusqu’à.

Professeur BIRON James Yvrosito Karly, Ing. Réseau et Telecom

Vous aimerez peut-être aussi