Bonjour,
Ce jour-ci si cela vous sied je vais vous enseigner comment s'utilisent les conditions.

Une condition c'est quoi ?
Imaginez un programme qui pose une question, exemple : "Saisissez un entier inférieur à 4 : ". Là votre doigt ripe sur le clavier et vous entrez 12593 (vous ripez facilement avouez le). Cette valeur n'étant pas inférieur à 4 (si si) il faut que le programme disent que vous avez ripé sur votre clavier, mais comment fait-il pour savoir ? Il utilise une condition. Il fait "si jamais la valeur que la personne vient de saisir est incorrecte je dois lui signaler !".


Le Si ... Alors


Reprenons notre exemple précédent.
Voici la condition :

"Saisissez un entier entre 1 et 4 : "
L'utilisateur saisi.
Si nombre tapé > 4 Alors
    agir
Finsi
continuer le programme

traduction code :
if(condition){
    agir
}
continuer le programme


Si on saisi 2 par exemple on ne va pas faire "agir" et on va "continuer le programme".
Si on saisi 12593 on va faire "agir" et on va "continuer le programme".

"agir" peut être beaucoup de choses, remplacer la valeur incorrecte par une valide, afficher un message d'erreur, ...
Si tout va bien est que la condition est incorrecte (si la valeur est inférieure à 4) on n'agira jamais.


Le Si ... Alors ... Sinon


Le si alors sinon sert lorsque l'on veut faire quelque chose de particulier dans le cas où la condition est vraie et autre chose quand la condition est fausse.

Exemple :
"Saisissez un entier entre 1 et 4 : "
L'utilisateur saisi.
Si nombre tapé > 4 Alors
    Afficher "Vous avez fais une erreur"
Sinon
    Afficher "Vous avez bien saisi"
Finsi
continuer le programme

traduction code :
if(condition){
    agir 1
}else{
    agir 2
}
continuer le programme


Ainsi nous avons deux messages chacun affiché dans un cas ou l'autre.


"Mais si jamais on veut plus de deux choix comment on fait ?". Il existe plusieurs solutions.
Ce qui est génial avec les conditions on peux les imbriquer comme on veux dans tous les sens.

Si nombre tapé = 1 Alors
    Afficher "Vous avez tapé le chiffre un"
Sinon
    Si nombre tapé = 2 Alors
        Afficher "Vous avez tapé le chiffre deux"
    Sinon
        Si nombre tapé = 3 Alors
            Afficher "Vous avez tapé le chiffre trois"
        Sinon
            Afficher "Vous avez tapé autre chose que 1, 2 et 3"
        Finsi
    Finsi
Finsi

L'imbrication peut être lourde à écrire mais elle est parfois inévitable voir même plus claire et plus efficace.
Il y a un moyen de l'alléger avec la forme de condition suivante dont je vais vous parler.


Le Si ... Alors ... Sinon Si ...


Cette forme n'existe pas dans la totalité des langages et ne s'écrit pas forcément pareils partout mais elle est très utile.

Elle s'écrit :
Si nombre tapé = 1 Alors
    Afficher "Vous avez tapé le chiffre un"
Sinon Si nombre tapé = 2 Alors
    Afficher "Vous avez tapé le chiffre deux"
Sinon Si nombre tapé = 3 Alors
    Afficher "Vous avez tapé le chiffre trois"
Finsi

Remarque : Si vous tapez 4 ou autre chose, rien ne se passera car si une condition est fausse le programme cherche à vérifier les suivantes, si aucune ne se vérifie aucune des instructions ne sera exécutée.

Vous pouvez tout à fait rajouter à la fin un sinon sans condition :
Si nombre tapé = 1 Alors
    Afficher "Vous avez tapé le chiffre un"
Sinon Si nombre tapé = 2 Alors
    Afficher "Vous avez tapé le chiffre deux"
Sinon Si nombre tapé = 3 Alors
    Afficher "Vous avez tapé le chiffre trois"
Sinon
    Afficher "Vous avez tapé autre chose que 1, 2 et 3"
Finsi
Et vous aurez un traitement dans tous les cas.

En code on peux l'écrire de deux manières :
if(condition){
    agir 1
}elseif(condition 2){
    agir 2
}

ou
if(condition){
    agir 1
}else if(condition 2){
    agir 2
}

Soit un petit espace entre else et if ou pas.

"En effet c'est plus simple mais dans tes exemples tu traite les valeurs possibles de la même variables, il n'y a pas plus simple pour gérer une seule variable ?" Si c'est la forme suivante.


Le Selon ... Faire


Le selon sert, comme dit précédemment, à gérer plusieurs valeurs d'une même variable.
Nous allons changer d'exemple pour être plus concert.
Imaginez que vous voulez un programme qui vous donne la date et plus particulièrement le jour de la semaine (Lumdi, Mardi, ...), mais dans votre code vous ne pouvez identifier cette valeur que par un entier (de 1 à 7).
Le selon va trouver son utilité dans ce cas précis.

Algo :
Selon leJour Faire
    cas 1 : Afficher "Lundi"
                Stop
    cas 2 : Afficher "Mardi"
                Stop
    cas 3 : Afficher "Mercredi"
                Stop
    cas 4 : Afficher "Jeudi"
                Stop
    cas 5 : Afficher "Vendredi"
                Stop
    cas 6 : Afficher "Samedi"
                Stop
    cas 7 : Afficher "Dimanche"
                Stop
    par défaut : Afficher "Votre jour n'existe pas"
FinFaire

"Mais c'est quoi ces "Stop" et ce "par defaut" ? " Patience j'y viens.
Les "Stop" servent à dire "On a fini de tout faire pour le cas en cours, sort du selon et continue le programme".
"Mais pourquoi il le fait pas tout seul ?" Il s'avère que parfois avec plusieurs cas différents on a besoin des mêmes instructions. Donc plutôt que de réécrire les mêmes lignes, on enlève le stop.
Exemple :
    cas 1 :
    cas 2 : Afficher "Mardi"
                Stop

Ici que ce soit lundi ou mardi, on affichera "Mardi".
Exemple plus intéressant :
    cas 1 : Afficher "Nous somme le jour avant : "
    cas 2 : Afficher "Mardi"
                Stop
Pour Lundi on affichera le texte : "Nous somme le jour avant : Mardi".
Et pour mardi on affichera simplement "Mardi". Vous voyez toutes les possibilités ?

De plus vous pouvez traiter autant de cas que vous voulez :
Selon leJour Faire
    cas 1 : Afficher "Lundi"
                Stop
    cas 7 : Afficher "Dimanche"
                Stop
    par défaut : Afficher "Votre jour est différent du Lundi et de Dimanche"
FinFaire

Et je n'ai pas oublié de parler de "par défaut".
Ce qui est écrit dans ce cas là sera fait si aucun des cas précédents n'a été traité. C'est pourquoi on le laisse à la fin et qu'on ne lui met pas de stop (on est déjà à la fin du selon). Le "par défaut" n'es pas obligatoire, si on ne veux rien faire par exemple on ne le met pas, on peut même laisser autant de cas que l'on veut vide, le stop nous emmènera à la fin de toutes façons.

En code on peux l'écrire :
switch(leJour){
    case 1 : Afficher "Lundi"
                break;
    case 2 : Afficher "Mardi"
                break;
    case 3 : Afficher "Mercredi"
                break;
    case 4 : Afficher "Jeudi"
                break;
    case 5 : Afficher "Vendredi"
                break;
    case 6 : Afficher "Samedi"
                break;
    case 7 : Afficher "Dimanche"
                break;
    default : Afficher "Votre jour n'existe pas"
}


Remarque importante :
Le selon ne prend pas n'importe quel type de variable, il est utilisé pour les nombres et les caractères. Dans certains langages les chaines de caractères sont acceptées (PHP par exemple).


Remarque finale : Dans les langages orienté objet, il existe ce que l'on appelle des exceptions qui sont des sortes de conditions mais elles sont utilisées dans les cas d'erreur d'exécution de programme, pour faire des traitements particuliers, j'en parlerai dans un article de niveau plus avancé.


Voilà pour les différents types de conditions existantes dans le monde de la programmation. J'espère avoir été clair, n'hésitez pas à laisser des remarques et/ou des questions.