Sommaire du cours Algorithmique Les bases de l'algorithmique Les structures conditionnelles (vous etes ici) La boucle POUR La boucle TANTQUE La boucle REPETER...JUSQU'A Choisir sa boucle : comparaison et invariants Les tableaux : les bases Les tableaux : algorithmes classiques Les fonctions et les procedures Les enregistrements La recursivite
Une structure conditionnelle permet a un algorithme de prendre une
decision . Selon qu'une condition est vraie ou fausse, certaines instructions seront executees
ou ignorees.
1. Le principe
SI une condition est vraie
ALORS on execute un bloc d'instructions
SINON on execute eventuellement un autre bloc
2. La structure de base
Si(condition) Alors
...
FinSi
Si(note >= 10) Alors
Ecrire("Admis");
FinSi
3. Fonctionnement
Le programme evalue la condition. Deux cas se presentent :
Condition VRAIE Condition FAUSSE
│ │
▼ ▼
Instructions executees Bloc ignore
4. La forme Si…Sinon
Lorsque deux traitements sont possibles :
Si(condition) Alors
...
Sinon
...
FinSi
Si(age >= 18) Alors
Ecrire("Majeur");
Sinon
Ecrire("Mineur");
FinSi
5. Un exemple complet
Algorithme Admission;
Var
note : reel;
Debut
Lire(note);
Si(note >= 10) Alors
Ecrire("Admis");
Sinon
Ecrire("Ajourne");
FinSi
Fin.
6. Les operateurs logiques
ET : les deux conditions doivent etre vraies
Si(age >= 18 ET note >= 10)
OU : une seule suffit
Si(note >= 10 OU bonus = 1)
NON : inverse la condition
Si(NON trouve)
7. Les tables de verite
8. Les conditions imbriquees
Si(age >= 18) Alors
Si(note >= 10) Alors
Ecrire("Admis");
Sinon
Ecrire("Echec");
FinSi
Sinon
Ecrire("Mineur");
FinSi
9. Un cas concret : ajouter 5 minutes a une heure
Si(m < 55) Alors
m <- m + 5;
Sinon
Si(h < 23) Alors
h <- h + 1;
m <- m - 55;
Sinon
h <- 0;
m <- m - 55;
FinSi
FinSi
Cet exemple montre bien l'interet de l'imbrication : le passage a l'heure suivante, puis le
passage a minuit, sont deux cas distincts.
10. Le tableau de trace
Lire(note)
Si(note >= 10) Alors
resultat <- "Admis"
Sinon
resultat <- "Ajourne"
FinSi
Pour note = 8 :
11. Les erreurs frequentes
Oublier FinSi
Confondre = et <- : dans un test on ecrit Si(x = 5),
l'affectation s'ecrit x <- 5;
Oublier le Sinon alors que deux traitements sont necessaires
Mal imbriquer les conditions : chaque Si doit avoir son FinSi
12. Bonnes pratiques
Toujours mettre la condition entre parentheses
Indenter les blocs
Toujours ecrire FinSi
Eviter les conditions trop longues : decomposez les tests complexes
A retenir
La structure de base est Si…Alors…FinSi
Le bloc Sinon est facultatif
Comparateurs : =, <>, <, >,
<=, >=
Operateurs logiques : ET, OU, NON
Les conditions peuvent etre imbriquees
Exercices d'application Exercice 1. Signe d'un nombre Lisez un entier et affichez « Positif », « Negatif » ou « Nul ».
Exercice 2. Le plus grand Lisez deux nombres et affichez le plus grand. Traitez aussi le cas ou ils sont egaux.
Exercice 3. Moyenne et admission Lisez trois notes, calculez la moyenne et affichez « Admis » si elle atteint 10, « Ajourne » sinon.
Cherchez avant de regarder la solution : c'est en butant sur les difficultes que l'on progresse.
← Chapitre precedent 1. Les bases de l'algorithmique Chapitre suivant → 3. La boucle POUR