Algorithmique
Tronc commun
Pr. Nabila ZRIRA & Pr. Hamza TOULNI
Année universitaire: 2024-2025
Chapitre II
Structures de contrôle
Instructions conditionnelles
C’est une structure logique qui permet d’exécuter ou non un bloc d’instructions selon la valeur VRAI ou FAUX d’une
expression logique. Il y a deux formes possibles pour une condition (appelée aussi test).
Si (condition logique) alors
Si (condition logique) alors
bloc d’instructions 1
bloc d’instructions
Sinon
Finsi
bloc d’instructions 2
Finsi
3
Instructions conditionnelles
Il est possible d’imbriquer plusieurs conditions dans le même algorithme.
Si Condition1 Alors
bloc d’instructions 1
Sinon
Si Condition2 Alors
bloc d’instructions 2
Sinon
...
Sinon
Si Condition N Alors
bloc d’instructions N
Sinon
bloc d’instructions
Finsi
Finsi
...
Finsi
Finsi
4
Instructions conditionnelles
Exemple: un programme devant donner l’état de l’eau selon sa température. Il doit pouvoir choisir entre trois réponses
possibles (solide, liquide ou gazeuse).
Algorithme Température
Variable T en entier
Début
Ecrire ("Donner la température de l’eau :")
Lire (T)
Si ( T <=0) Alors
Ecrire ("C’est de la glace")
Finsi
Si ( T > 0 ET T < 100) Alors
Ecrire ("C’est du liquide")
Finsi
Si ( T >= 100) Alors
Ecrire ("C’est de la vapeur")
Finsi
Fin 5
Instructions conditionnelles
Donner la température de l’eau:
Algorithme Température 60
Variable T en Entier
C’est du liquide
Début
Ecrire ("Donner la température de l’eau:")
Lire (T)
Si (T <= 0) alors
Ecrire ("C’est de la glace")
Sinon
Si (T < 100) alors
Ecrire ("C’est du liquide")
Sinon
Ecrire ("C’est de la vapeur") T: 60
Finsi
Finsi
Fin
RAM
6
Instructions conditionnelles
Algorithme Température
Variable T en Entier Donner la température de l’eau:
Variables A, B en Booléen 85
Début C’est du liquide.
Ecrire ("Donner la température de l’eau :")
Lire (T)
A T <= 0
B T < 100
Si (A) Alors
Ecrire ("C’est de la glace")
Sinon
Si (B) Alors T: 85
Ecrire ("C’est du liquide")
A: FAUX
Sinon
Ecrire ("C’est de la vapeur") B: VRAI
Finsi
RAM
Finsi
7
Fin
Instructions conditionnelles
Dans le cas où l’expression logique des tests imbriqués est réduite au test de la valeur d’une variable on peut utiliser la
condition suite:
Cas où Variable vaut :
Valeur 1) bloc d’instructions 1
Valeur 2) bloc d’instructions 2
…
Valeur N) bloc d’instructions N
Autrement) bloc d’instructions
Fincas
8
Instructions conditionnelles
Exemple : algorithme qui affiche le jour de la semaine Entrez le numéro d’un jour de la
Algorithme Jour de la semaine semaine:
7
Variable X en Entier
Dimanche
Début
Ecrire ("Entrez le numéro d’un jour de la semaine: ")
Lire (X)
Cas où X vaut :
1) Ecrire ("Lundi")
2) Ecrire ("Mardi")
3) Ecrire ("Mercredi")
4) Ecrire ("Jeudi")
5) Ecrire ("Vendredi")
6) Ecrire ("Samedi")
7) Ecrire ("Dimanche")
Autrement) Ecrire ("Ce numéro ne correspond à aucun jour de la semaine")
Fincas
9
Fin
Instructions conditionnelles
Exemple : algorithme qui affiche le jour de la semaine Entrez le numéro d’un jour de la
Algorithme Jour de la semaine semaine:
10
Variable X en Entier
Ce numéro ne correspond à aucun
Début jour de la semaine
Ecrire ("Entrez le numéro d’un jour de la semaine:")
Lire (X)
Cas où X vaut :
1) Ecrire ("Lundi")
2) Ecrire ("Mardi")
3) Ecrire ("Mercredi")
4) Ecrire ("Jeudi")
5) Ecrire ("Vendredi")
6) Ecrire ("Samedi")
7) Ecrire ("Dimanche")
Autrement) Ecrire ("Ce numéro ne correspond à aucun jour de la semaine")
Fincas
10
Fin
Instructions répétitives
La boucle
L’instruction de répétition, appelée boucle, permet d’exécuter plusieurs fois consécutives un même bloc
d’instructions. La répétition s’effectue tant que la valeur de l’expression booléenne est égale à Vrai.
Il existe trois types de boucles :
- Tantque . . . Faire
- Faire . . . Tantque
- Pour . . . Faire
11
Instructions répétitives
La boucle Tantque
Tantque condition Faire
Bloc d’instructions
FinTantque
Règles :
– La condition doit être une expression booléenne.
– Pour que la boucle se termine, il est nécessaire que le bloc d’instructions modifie la condition.
Évaluation :
La condition est évaluée. Si elle vaut FAUX alors la boucle se termine et l’exécution se poursuit avec l’instruction qui
suit FinTanque. Si elle vaut VRAI alors la séquence d’instructions est exécutée et la condition est de nouveau évaluée.
12
Instructions répétitives
La boucle Tantque
Donner un entier positif :
5
Algorithme Calcul de S=1+2+3+4+…+N La somme est : 15
Variables N, I , S en Entier
Début
Ecrire ("Donner un entier positif :")
Lire (N)
I 1
S0
Tantque ( I <= N ) faire
SS+I
I I+1
FinTantque N: 5
Ecrire ("La somme est :", S) I: 6
Fin
S: 15
RAM
13
Instructions répétitives
La boucle Faire . . . Tantque
Faire
Bloc d’instructions
Tantque Condition
Remarques :
✓ La condition n’est évaluée qu’après l’exécution du bloc d’instructions;
✓ La séquence est exécutée au moins une fois ;
✓ La condition doit être modifiée par la séquence.
14
Instructions répétitives
La boucle Faire . . . Tantque
Donner un entier positif :
5
Algorithme Calcul de S=1+2+3+4+…+N La somme est : 15
Variables N, I , S en Entier
Début
Ecrire ("Donner un entier positif :")
Lire (N)
I 1
S0
Faire
SS+I
I I+1
Tantque ( I <= N )
Ecrire ("La somme est :", S) N: 5
Fin
I: 1 2 3 4 5 6
S: 0 1 3 6 10 15
RAM
15
Instructions répétitives
La boucle Pour
Pour Compteur Val_Initiale à Val_finale Pas Val_Pas faire
Bloc d’instructions
FinPour
La variable Compteur prend alors successivement chacune des valeurs de l’intervalle [Val_Initiale - Val_finale] dans
l’ordre indiqué et pour chaque valeur, la séquence est exécutée.
Remarques :
✓ Cette structure est utilisée lorsqu’on connaît à l’avance le nombre d’itérations à faire.
✓ Si Val_Pas vaut 1 on peut l’omettre.
✓ Nous pouvons imbriquer plusieurs boucles.
16
Instructions répétitives
La boucle Pour
Donner un entier positif
5
Algorithme Calcul de S=1+2+3+4+…+N La somme est : 15
Variables N, I , S en Entier
Début
Ecrire ("Donner un entier positif :")
Lire (N)
S0
Pour I 1 à N faire
SS+I
FinPour
Ecrire ("La somme est :", S)
Fin N: 5
I: 6
S: 15
RAM
17
Instructions répétitives
Boucles imbriquées
Algorithme Calcul de S=1!+2!+3!+4!+…+N! N=4
Variables N, P, I , J, S en Entier
I=1 I=2 I=3 I=4
Début
Ecrire ("Donner un entier positif :")
Lire (N) S = 0 + 1 + 2 + 6 + 24 = 33
S0
Pour I 1 à N faire
P1
J1
Tantque J =< I faire
S = 1! + 2! + 3! + 4! = 33
P P*J
J J+1
FinTantque
SS+P
FinPour
Ecrire ("La somme est :", S)
Fin
18
Exercices
Les habitants d’une ville paient l’impôt selon les règles suivantes :
✓ Les hommes de plus de 20 ans paient l’impôt
✓ Les femmes paient l’impôt si elles ont entre 18 et 35 ans
✓ Les autres ne paient pas d’impôt
Le programme demandera donc l’âge et le genre d’un habitant, et se prononcera donc ensuite sur le fait que
l’habitant est imposable.
19
Exercices
Ecrire un algorithme permettant d’afficher la saison en introduisant le numéro du mois.
20
Exercices
Ecrire un algorithme qui lit un entier puis affiche sa table de multiplication.
Exemple : Cas du nombre 5
Table de 5 :
5x1=5
5 x 2 = 10
5 x 3 = 15
…
5 x 10 = 50
21
Exercices
Une ville a pour population actuelle X habitants.
Ecrire un algorithme qui donne sa population dans cinq ans, si on considère que le taux de croissance annuel
est de 2%.
22
Exercices
Ecrire un algorithme qui demande à l’utilisateur un nombre pair. Si le nombre saisi n’est pas pair l’algorithme
doit demander à l’utilisateur une nouvelle saisie.
23