Algorithmique

Conditions et choix

Une condition permet à un algorithme de choisir une instruction selon les données qu’il reçoit.

Écrire un choix

SI… ALORS… SINON

Une condition vaut vrai ou faux. Si elle est vraie, l’algorithme exécute la branche ALORS. Si elle est fausse, il exécute la branche SINON, lorsqu’elle existe.

SI note ≥ 10 ALORS
  afficher "Admis"
SINON
  afficher "Non admis"
FIN SI

Avec 10, la première branche s’exécute. Avec 9, la seconde s’exécute.

Conditions multiples et plusieurs cas

ET exige que les deux comparaisons soient vraies. OU exige qu’au moins l’une soit vraie. Pour vérifier que a peut être le maximum, testez (a ≥ b) ET (a ≥ c).

Dans une chaîne SI, SINON SI, SINON, les cas sont examinés dans l’ordre. Dès qu’un test est vrai, sa branche s’exécute et les tests suivants sont sautés. SINON couvre les cas restants.

Avec deux instructions SI indépendantes, les deux tests sont effectués et les deux actions peuvent s’exécuter. Par exemple, une note de 16 satisfait à la fois note ≥ 10 et note ≥ 15.

Trouver le plus grand de trois nombres

Entrez trois nombres ou choisissez un exemple. Essayez de prévoir la branche choisie, puis vérifiez en avançant pas à pas.

Valeurs de −1 000 à 1 000. Les nombres décimaux sont acceptés.

Exemples

Avant l’exécution

Cliquez sur « Pas suivant » pour évaluer le premier test.

Pseudo-code

La ligne surlignée vient d’être évaluée ou exécutée. Si le premier test échoue, au moins l’un des nombres b ou c dépasse a. Il suffit alors de comparer b et c.

  1. 1SI (a ≥ b) ET (a ≥ c) ALORS
  2. 2 maximum ← a
  3. 3SINON SI b ≥ c ALORS
  4. 4 maximum ← b
  5. 5SINON
  6. 6 maximum ← c
  7. 7FIN SI
  8. 8AFFICHER maximum
Maximum affiché —

Parcours des branches

Premier test(a ≥ b) ET (a ≥ c)
Si vrai →maximum ← a

↓ Si faux, passer au deuxième test

Deuxième testb ≥ c
Si vrai →maximum ← b

↓ Si faux, exécuter le SINON

Cas restantmaximum ← c
Après la branche choisieAFFICHER maximum

Tableau d’exécution

ÉtapeInstructionÉvaluation ou actionMaximum en mémoire
Le tableau se remplit à chaque étape.

Comprendre les égalités

Avec a = 7, b = 7 et c = 2, le test (a ≥ b) ET (a ≥ c) est vrai. L’algorithme choisit a et affiche 7, la valeur maximale commune à a et b.

Le signe ≥ donne la priorité à a s’il fait partie des maxima, puis à b si seuls b et c sont ex æquo. Avec des tests stricts >, la valeur maximale serait la même, mais la variable choisie en cas d’égalité pourrait changer.

Exercice corrigé avec a = 3, b = 8 et c = 8

Quel test est faux ? Quelle variable est choisie ? Quelle est la valeur du maximum ?

Le premier test est faux car 3 ≥ 8 est faux. Le deuxième est vrai car 8 ≥ 8 est vrai. L’algorithme choisit b et affiche 8. Les nombres b et c atteignent tous les deux ce maximum.