13
-Exemple
On reprend l’exemple de ax²+bx+c :
Données en entrées sont : ……………………
Donnée en sorties sont : …………………………
Donnée Intermédiaires sont :…………………
Exemple d’analyse :
Etant données la longueur et la largeur d’un rectangle, calculez sa surface et son
périmètre
➢ Analyse :
• Les données en entrée
• Traitement à effectuer :
• Les résultats
15
Chapitre : les structures de contrôle(ou conditionnelles)
On dit qu'un algorithme a une structure séquentielle lorsque les instructions s'exécutent d'une
manière linéaire une après une du début jusqu'à la fin. Il peut y avoir dans certains cas des
sauts de blocs d'instructions.
Une telle structure est appelée Structure Conditionnelle. On distingue plusieurs formes :
- Structure Conditionnelle à un seul choix.
- Structure Conditionnelle à deux choix.
- Structure Conditionnelle imbriquée.
- Structure Conditionnelle à choix multiple.
1- Structure Conditionnelle à un Choix
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.
Représentation Algorithmique
Si (Condition_Satisfaite) Alors traitements Finsi
Exemple : On veut octroyer une prime pour les salariés mariés ayant plus de 3 enfants.
SI (Nbr_Enfants >= 3) ALORS Salaire Salaire + Prime FinSi
Exercice d’application : Écrire un algorithme qui permet de résoudre une équation de 1er
degré : ax+b=0 en supposant que a >0.
Solution
Algorithme Equation1
Variable a,b,x : réel
Début
Lire(a) Lire(b)
Si ( a > 0 ) Alors
X -b/a
Finsi
Écrire(x)
Fin
2- Structure Conditionnelle à deux Choix
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é.
Représentation Algorithmique
Si (Condition_Satisfaite) Alors traitements Sinon traitements Finsi .
Exercice d’application : Écrire un algorithme qui permet de résoudre une équation de 1er
degré : ax+b=0 avec b non nul.
Solution
Algorithme Equation1
Variable a,b,x : réel
Début
Lire(a) Lire(b)
Si ( a > 0 ) Alors
x -b/a
écrire(x)
Sinon Écrire(‘Pas de Solutions’)
Finsi Fin
16
3- 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.
Représentation Algorithmique
Si condition1 alors
Si condition2 alors
traitements
Sinon
traitements
Finsi
Sinon
Si condition3 alors
traitements
Finsi
Finsi
Exercice d’application
Ecrire un algorithme Mois qui lit un numéro de mois et affiche son nom respectif.
Algorithme Mois Variable
NumMois : entier
DEBUT
Lire (NumMois)
SI NumMois = 1 ALORS Ecrire(‘Janvier’)
SINON SI NumMois = 2 ALORS Ecrire(‘Février’)
SINON …
SINON SI NumMois = 1 ALORS Ecrire(‘Décembre’)
SINON Ecrire(‘Erreur’)
FINSI FINSI FINSI FINSI
FIN
4- Structure Conditionnelle à Choix Multiple
Partant de l’énoncé précédant, on remarque l’importance de la longueur et la complexité de
cet algorithme, on y trouve trop de conditions imbriquées. La solution est l’utilisation d’une
autre structure conditionnelle appelée 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.
Représentation Algorithmique
Selon (nomvariable) Faire
Val1 : traitements
Val2 : traitements
…..
ValN : traitements
Sinon traitements
Fin Selon
17
Remarque :
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.
Si pour différentes valeurs, le traitement est le même, on peut les regrouper ensemble en les
séparant par des virgules : Val1, Val2, .., ValK :
Val1, Val2, …., ValN doivent être de même type que nomvariable.
Les valeurs Val1,…., ValN ne peuvent avoir que les types suivants : o Entier o Caractère o
Intervalle d’entiers o Intervalle de caractères.
Les traitements relatifs aux valeurs peuvent comporter également d’autres structures
conditionnelles.
Exercice d’application Reprendre l’algorithme mois :
Algorithme Mois
Variable NumMois : entier
DEBUT
Lire (NumMois)
DEBUT
SELON NumMois FAIRE
1 : Ecrire(‘Janvier’)
2 : Ecrire(‘Février’)
… 12 : Ecrire(‘Décembre’)
SINON: Ecrire(‘Erreur…’)
FINSELON
FIN
Condition composée.
Une condition composée est une condition formée de plusieurs conditions simples reliées par
des opérateurs logiques: ET, OU, et NON
Exemples :
x compris entre 2 et 6 : (x > 2) ET (x < 6)
n divisible par 3 ou par 2 : (n mod 3=0) OU (n mod 2=0)
L'évaluation d'une condition composée se fait selon des règles présentées généralement dans
ce qu'on appelle tables de vérité
C1 C2 C1 ET C2 C1 C2 C1 OU C2
V V V V V V C1 NON C1
V F F V F v V F
F V F F V v F V
F F F F F F
18
Chapitre : Structure répétitive ou itérative (boucles)
Définition
Certains algorithmes nécessitent la répétition des instructions un certain nombre de fois avant
d’obtenir le résultat voulu. Cette répétition est réalisée en utilisant une structure de contrôle
de type itératif, nommée boucle. Il existe trois types de boucles.
La boucle POUR
Utiliser pour un traitement qui se répète n fois
Langage algorithmique
Pour variable compteur de valeur initial à valeur final faire
Traitements
Fin pour
Instructions suivantes
Lorsque l’ordinateur rencontre cette structure, il procède de la manière suivante :
• La variable, jouant le rôle de compteur, est initialisée à la valeur initiale.
• L’ordinateur teste si la variable est inférieure ou égale à la valeur finale :
® Si c’est le cas, l’instruction ou le bloc d’instruction est effectué, la variable compteur est
augmentée de 1, et retour à l’étape 2
® Si ce n’est pas le cas l’ordinateur passe aux instructions suivantes.
La boucle TANT...QUE
Utilisé lorsqu’un traitement est à répéter tant qu’une condition est vérifiée
Langage algorithmique
Tant que condition faire
Traitements
Fin tant que
Instructions suivantes
Lorsque l’ordinateur rencontre cette structure, il procède de la manière suivante :
• La condition est testée (on dit aussi évaluée).
• Si la condition est fausse, l’instruction ou les instructions du bloc ne sont pas exécutées et
on passe aux instructions suivantes
• Si la condition est vraie, les instructions du bloc sont exécutées, et on recommence à l’étape
test de la condition.
La boucle répéter ...jusqu’a
Une boucle répéter sert à répéter un traitement jusqu’à ce qu’une condition soit remplie. La
condition est évaluée après chaque exécution des instructions de la séquence itérative. Si la
condition est remplie dés le départ, la boucle est exécutée une fois
Langage algorithmique
Répéter
Traitements
Jusqu'à condition
Instructions suivantes
Lorsque l’ordinateur rencontre cette structure, il procède systématiquement de la manière
suivante :
• Exécution du bloc d’instruction concernée.
• Test de la condition (on dit aussi évaluation).
• Si la condition est vraie les instructions du bloc sont exécutées,
• Si la condition est fausse, on passe aux instructions suivantes.
19
Comment déterminer la boucle à utiliser
Le choix de la structure de contrôle se fait en fonction du nombre d'itérations à effectuer :
• si le nombre d'itérations est déterminé à l'avance, une boucle POUR est la plus appropriée,
• sinon : si la condition de boucle ne peut être évaluée avant la première itération, ou si au
moins une itération doit être exécutée, la boucle REPETER est la plus appropriée,
• sinon la boucle TANT QUE est la plus appropriée
Remarque :
Il est possible de simuler une boucle pour à l'aide d'un tant que ou répéter
Exemple :
Ecrire l’algorithme qui calcul La somme de n premier nombre
Ecrire l’algorithme qui calcul la Somme d’une liste d’entiers dont le dernier est zéro
20