Les conditions
Jusqu'ici, nos programmes exécutaient toutes leurs lignes. Maintenant, on va leur apprendre à faire des choix : c'est la deuxième grande idée de l'algorithmique, après la séquence.
si ... alors ... fin si
temperature est un nombre vaut 30
si temperature > 25 alors
affiche 'Il fait chaud, bois de l’eau !'
fin si
affiche 'Bonne journée.'
Les lignes entre si ... alors et fin si ne sont exécutées que si la condition est vraie. La dernière ligne, elle, est toujours exécutée.
Un bloc ne s'écrit jamais sur une seule ligne : si, l'instruction et fin si vont chacun sur leur propre ligne. Et on écrit bien fin si en deux mots.
Les lignes à l'intérieur du bloc sont décalées vers la droite (l'indentation). CoddyRun n'en a pas besoin, mais tes yeux, si : on voit tout de suite ce qui dépend de la condition.
sinon : l'autre chemin
sinon indique ce qu'il faut faire quand la condition est fausse :
age est un nombre
demande 'Quel âge as-tu ? ' dans age
si age >= 18 alors
affiche 'Tu es majeur.'
sinon
affiche 'Tu es mineur.'
fin si
Un seul des deux blocs est exécuté, jamais les deux.
sinon si : plusieurs cas
Pour plus de deux possibilités, on enchaîne avec sinon si. CoddyRun teste les conditions dans l'ordre et s'arrête à la première vraie :
note est un nombre
demande 'Ta note sur 20 ? ' dans note
si note >= 16 alors
affiche 'Très bien !'
sinon si note >= 12 alors
affiche 'Bien.'
sinon si note >= 10 alors
affiche 'Passable.'
sinon
affiche 'Courage, ça va venir !'
fin si
Question : Avec note égale à 17, quel message affiche le programme ci-dessus ? — Très bien !. La première condition vraie est note >= 16 : CoddyRun affiche « Très bien ! » et ignore les autres cas.
Des conditions combinées
On peut combiner avec et, ou et non :
heureActuelle est un nombre vaut 14
jourDeSemaine est un booléen vaut vrai
si jourDeSemaine et heureActuelle >= 8 et heureActuelle < 18 alors
affiche 'Le magasin est ouvert.'
sinon
affiche 'Le magasin est fermé.'
fin si
selon : la sélection multiple
Quand on compare une même variable à plusieurs valeurs précises, selon est plus lisible qu'une longue suite de sinon si :
jour est un nombre vaut 3
selon jour
cas 1 : affiche 'Lundi'
cas 2 : affiche 'Mardi'
cas 3 : affiche 'Mercredi'
sinon selon : affiche 'Un autre jour'
fin selon
sinon selon traite toutes les valeurs qui ne correspondent à aucun cas.
En résumé
si condition alors ... fin si exécute un bloc seulement si la condition est vraie.sinon donne l'autre chemin ; sinon si ajoute des cas, testés dans l'ordre.et, ou, non combinent des conditions.selon ... cas ... fin selon compare une variable à plusieurs valeurs.