Les conditions
Un booléen sinon rien
Les structures conditionnelles font partie des briques de l’algorithmique. Comme leur nom l’indique, elles permettent d’appliquer des conditions à un processus. Si une condition est remplie, on effectue une tâche donnée. Sinon, on fait autre chose. Tout le code n’est donc pas exécuté systématiquement. Seule la partie validant la condition est réalisée. Comment le programme détermine-t-il la tâche à effectuer ?
Comme vu dans le chapitre. Les opérateurs, un opérateur de comparaison et un opérateur logique renvoient un booléen. Voici quelques exemples :
-
1 > 3 donne False.
-
"hello" == "hello" donne True.
-
1 OU 0 donne 1, c’est-à-dire True.
-
0 ET 1 donne 0, c’est-à-dire False.
Les structures conditionnelles appliquent une action donnée en fonction d’un résultat booléen, comme nous le faisons dans la vie quotidienne dans les cas suivants :
-
S’il pleut, alors nous prenons un parapluie, sinon nous ne prenons pas de parapluie.
-
S’il y a des bouchons, alors nous changeons d’itinéraire.
Un organigramme de programmation (ou algorigramme) peut être utilisé pour représenter graphiquement de façon normalisée l’enchaînement des opérations et des décisions effectuées...
Écrire des structures conditionnelles
Voici la structure d’une condition :
Début :
Si booléen alors
Instructions
Sinon
Autres instructions
Fin
Ce qui se trouve après le Si est appelé expression. Si l’expression (ici un booléen) renvoie True, les instructions sous le Si sont exécutées. Si elle renvoie False, alors ce sont les instructions du Sinon qui sont exécutées. Si les deux instructions (Si et Sinon) renvoient True, alors ce sont les instructions du premier bloc d’expression True, c’est-à-dire le bloc du Si, qui sont exécutées.
Reprenons l’algorithme du chapitre Les variables et modifions-le un peu pour indiquer si la personne est majeure ou mineure.
Algorithme : Majeur ou mineur ?
Variables :
entier : anneeActuelle, anneeDeNaissance
chaine : prenom
Début :
Afficher “Indique ton prénom, l'année actuelle et ton année
de naissance et je te dirai si tu es majeur ou mineur”
Saisir anneeActuelle, anneeDeNaissance, prenom
age ← anneeActuelle - anneeDeNaissance
Si age < 18
majeurOuMineur ← “mineur”
Sinon
majeurOuMineur ← “majeur”
Afficher “Bonjour”, prenom, “, puisque nous sommes en”,
anneeActuelle, “ et que tu es né(e) en”, anneeDeNaissance, “tu as”,
age, “ce qui signifie que tu es”, majeurOuMineur
Fin
Ici, on initialise trois variables : anneeActuelle, anneeDeNaissance, prenom. Puis on détermine la valeur d’une variable age par le calcul. Ensuite, on entre dans une structure conditionnelle ayant deux parties : Si et Sinon....
Les conditions imbriquées
Très souvent, les programmes nécessitent des structures conditionnelles imbriquées. Il s’agit de conditions dans une condition ; en quelque sorte, de sous-conditions.
Reprenons l’algorithme Majeur, mineur ou tout juste majeur, et ajoutons les sous-catégories bébé, enfant et adolescent dans mineur, et la sous-catégorie retraité dans majeur :
Algorithme : Majeur, tout juste majeur, retraité, mineur, adolescent,
enfant, bébé
Variables :
entier : anneeActuelle, anneeDeNaissance
chaine : prenom
Début :
Afficher “Indique ton prénom, l'année actuelle et ton année de
naissance et je te dirai à quelle catégorie tu appartiens
Saisir anneeActuelle, anneeDeNaissance, prenom
age ← anneeActuelle - anneeDeNaissance
Si age < 18 ET age > 0
Si age > 0 ET age <= 3
majeurOuMineur ← “bébé”
Sinon Si age > 3 ET age <= 12
majeurOuMineur...
Des conditions avec des choix prédéfinis
Un bon programmeur est partisan du moindre effort.
Il s’agit ici d’indiquer à un programme des instructions à réaliser pour une grande liste de cas de figure. Vous pouvez le faire en créant autant de conditions Si et Sinon Si que nécessaire. Mais vous remarquerez pas mal de redondances et vous augmenterez le risque de vous tromper. C’est là qu’intervient la structure conditionnelle Suivant cas faire :
Début :
Suivant cas expression1 : faire instructions1
Suivant cas expression2 : faire instructions2
Suivant cas expression3 : faire instructions3
Suivant cas expression4 : faire instructions4
Fin
En guise d’exemple, écrivons un programme qui indique quel jour nous sommes, en utilisant la structure Suivant cas faire en JavaScript :
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var day;
switch (new Date().getDay()) {
case 0:
day = "Sunday";
break;
case 1:
day = "Monday";
break;
case 2:
day = "Tuesday";
break;
case...