pdf - e-book - archive

1.2  Traitements conditionnels


Voir les diapos


On appelle traitement conditionnel une portion de code qui n’est pas exécutée systématiquement.

1.2.1  SI ... ALORS

La syntaxe d’un traitement conditionnel est la suivante :

Les <instructions> ne sont exécutées que si <condition> est vérifiée.

Par exemple,

Si la variable A, au moment du test, a une valeur nulle, alors l’instruction Afficher "La valeur de la variable A est nulle." est exécutée, sinon, elle est ignorée.

Conditions

Une condition peut être tout type de test. Par exemple,

La condition A = 2 est vérifiée si la valeur contenue dans A est 2. A = B est vérifiée si les valeurs contenues dans A et dans B sont les mêmes. B <> 7 est vérifiée si B contient une valeur différente de 7. 2 > 7 est vérifiée si 2 est supérieur à 7, donc jamais, cette condition est donc fausse et ne dépend pas des valeurs des variables.

Si étendu

Le traitement conditionnel peut être étendue de la sorte :

Si <condition> est vérifiée, les <instructions> sont exécutées. Dans le cas contraire, donc si <condition> n’est pas vérifiée, alors ce sont les <autresinstructions> qui sont exécutées.

Par exemple,

Dans l’exemple ci-dessus, la condition a = b est évaluée. Si à ce moment-là les variables a et b contiennent la même valeur, alors la condition a = b sera vérifiée. Dans ce cas, l’instruction Afficher "Vous avez saisi deux fois la même valeur, à savoir ", a, "." sera exécutée. Si la condition a = b n’est pas vérifiée, donc si les variables a et b ne contiennent pas la même valeur au moment de l’évaluation de la condition, c’est alors l’instruction Afficher "Vous avez saisi deux valeurs différentes, ", a, " et ", b, "." qui sera exécutée.

Imbrication

Il est possible d’imbriquer les SI à volonté :

Si par exemple a et b sont tous deux positifs, alors aucun des deux tests ne sera vérifié, et c’est donc le sinon du sinon qui sera exécuté, à savoir Afficher "a et b sont positifs".

Connecteurs logiques

Les connecteurs logiques permettent de d’évaluer des conditions plus complexes. Deux sont disponibles :

Par exemple, écrivons un algorithme qui demande à l’utilisateur de saisir deux valeurs, et qui lui dit si le produit de ces deux valeurs est positif ou négatif sans en calculer le produit.

L’instruction Afficher "positif ou nul" sera exécutée si au moins une des deux conditions suivantes est vérifiée :

1.2.2  Suivant cas

Lorsque que l’on souhaite conditionner l’exécution de plusieurs ensembles d’instructions par la valeur que prend une variable, plutôt que de faire des imbrications de si à outrance, on préférera la forme suivante :

Selon la valeur que prend la variable <variable>, le bloc d’instructions à exécuter est sélectionné. Par exemple, si la valeur de <variable> est <valeur_1>, alors le bloc <instructions_1> est exécuté. Le bloc <autres cas> est exécuté si la valeur de <variable> ne correspond à aucune des valeurs énumérées.

Exemple

Écrivons un algorithme demandant à l’utilisateur le jour de la semaine. Affichons ensuite le jour correspondant au lendemain.

Vous remarquez que si l’on avait voulu écrire le même algorithme avec des Si, des imbrications nombreuses et peu élégantes auraient été nécessaires.

1.2.3  Variables Booléennes

Une variable de type booléen ne peut contenir que les valeurs vrai et faux.

Il serait tout à fait judicieux de se demander quel est l’intérêt d’un tel type ? Observons tout d’abord cet exemple :

Le test opéré lors du Si ... alors est effectué sur une expression pouvant prendre les valeurs vrai ou faux. Par conséquent, un test peut aussi s’opérer sur une variable booléenne. Si la variable erreur contient la valeur vrai, alors le test est vérifié et l’instruction se trouvant sous la portée du alors est exécutée. Si par contre elle contient la valeur faux, alors le test n’est pas vérifié et l’instruction de trouvant sous la portée du sinon est exécutée.