Académique Documents
Professionnel Documents
Culture Documents
On a vu, jusqu'ici, qu'on peut souvent rencontrer des situations qui ne peuvent pas être
traitées par les seules séquences utilisant les instructions de base. En effet, on a besoin parfois
de choisir entre deux ou plusieurs traitements selon la réalisation ou non d'une certaine
condition, d'où la notion de traitement conditionnel. On peut distinguer trois structures de
traitement conditionnel :
1. 1. Une structure conditionnelle simple : dans laquelle on a à choisir entre deux
traitements au plus. On distingue deux structures conditionnelles simple :
Une structure conditionnelle à un seul choix
Une structure conditionnelle à deux choix.
2. 2. Une structure conditionnelle à plusieurs choix : dans laquelle on a la possibilité de
choisir un traitement parmi plusieurs.
1
Remarque : si la condition mentionnée après le mot Si est vraie, on exécute ce qui figure
après le mot Alors ; si la condition est fausse, on exécute ce qui figure après le mot Sinon.
Exemple 1 : Cet algorithme permet de lire un nombre entier puis vérifier s'il est pair ou
impair.
Analyse :
déclarer deux variables de type entier : une pour recevoir un nombre à partir du
clavier, l'autre pour recevoir le reste de la division entière par 2.
Calculer, à l'aide de la fonction Mod, le reste de la division entière du nombre par 2.
Tester pour voir si le reste est égal à 0, dans ce cas le nombre est pair ; dans le cas
contraire le nombre est impair.
Algorithme Pair_Impair
DefVar
nombre, reste (Entier)
Début
Ecrire ("Donnez un nombre entier")
Lire (nombre)
reste ← nombre Mod 2
Si reste = 0
Alors
Ecrire ("Le nombre ", nombre, " est pair")
Sinon
Ecrire ("Le nombre ", nombre, " est impair")
Fin Si
Fin
Analyse :
Déclarer trois variables (Montant, Taux et Remise) de type numérique.
Lire le montant à partir du clavier.
Tester pour voir si le montant frappé par l'utilisateur est inférieur ou égal à
2000 D, dans ce cas affecter à Taux la valeur 0 ; dans le cas contraire tester pour voir si
le montant est inférieur à 5000 D. Si cette dernière condition est vérifiée, affecter à Taux
la valeur 5 sinon 10.
Calculer le montant de remise.
Affecter à Montant le montant net.
Algorithme Calcul_remise
DefVar
Montant, Remise (Réel)
Taux (Entier)
Début
Ecrire ("Montant ? (en Dinars) :")
Lire (Montant)
Si Montant < 2000
Alors
Taux ← 0
Sinon
27
Si Montant <= 5000
Alors
Taux ← 5
Sinon
Taux ← 10
Fin Si
Fin Si
Remise ← Montant * Taux / 100
Montant ← Montant - Remise
Fin
Remarque : Notez que beaucoup d'autres formulations sont possibles. Ainsi, par exemple,
on peut éviter l'emploi de choix imbriqués en utilisant trois structures d'exécution
conditionnelle :
Si Montant < 2000 Alors Taux ← 0 Fin Si
Si (Montant >= 2000) Et (Montant < = 5000) Alors Taux ← 5 Fin Si
Si Montant > 5000 Alors Taux ← 10 Fin Si
CAS Sélecteur DE
Liste_valeurs1 : instructions exécutées si Sélecteur est inclus dans Liste_valeurs1
Liste_valeurs2 : instructions exécutées si Sélecteur est inclus dans Liste_valeurs2
...
Liste_valeursN : instructions exécutées si Sélecteur est inclus dans Liste_valeursN
[AUTRE instructions à exécuter si rien ne correspond]
FIN CAS
CAS
Condition_1 : instructions exécutées si Condition_1 est vérifiée
Condition_2 : instructions exécutées si Condition_2 est vérifiée
...
Condition_N : instructions exécutées si Condition_N est vérifiée
[AUTRE instructions à exécuter si aucune condition n'est vérifiée
FIN CAS
28
Remarque : Si l'une des conditions est vérifiée, l'algorithme exécute toutes les
instructions qui suivent cette condition jusqu'à la condition suivante puis il sort et continue
l'exécution après le mot Fin Cas.
Exemple : Cet algorithme permet de saisir une date sous la forme JJ MM AA et d'afficher
le nombre de jours du mois MM et le nombre de jours qui restent pour la fin de ce mois.
Analyse :
déclarer 5 variables de type entier :
3 variables (jj, mm et aa) pour recevoir la date.
1 variable (jtot) pour recevoir le nombre total de jours du mois mm.
1 variable (jreste) pour calculer le nombre de jours restant pour la fin du mois
mm.
lire la date sous la forme demandée.
sélectionner le bon mois.
déterminer les valeurs des variables jtot et jreste en tenant compte des années
bissextiles.
Algorithme Jours
DefVar
jj, mm, aa, jtot, jreste (Entier)
Début
Ecrire ("Donnez la date sous la forme JJ MM AA :")
Lire (jj, mm, aa)
-- On suppose que la date frappée par l'utilisateur est valide
Cas mm De
1, 3, 5, 7, 8, 10, 12 : jtot ← 31 -- Janvier, Mars, Mai, Juillet, Août, Oct., Déc.
4, 6, 9, 11 : jtot ← 30 -- Avril, Juin, Sép. et Nov.
Autre -- Février
Si (aa Mod 4 = 0) -- Année bissextile (Février a 29 jours)
Alors
jtot ← 29
Sinon
jtot ← 28
Fin si
Fin Cas
jreste ← jtot - jj
Ecrire ("Le mois ", mm, " a ", jtot, " jours et il reste encore ",
jreste, " jours pour sa fin").
Fin
29