Retour à la page d'accueil

Les tests conditionnels

Nous abordons maintenant un aspect qui au coeur de la programmation, les tests conditionnels. En effet, il est rare de voir un script qui n'emploie pas l'instruction if() dans l'exécution d'une commande. Les test conditionnels permettent de diriger une action en fonction d'un ou plusieurs facteurs.

Prenons un exemple dans la vie quotidienne: si mon ordinateur gèle, je redémarre. En programmation, cet exemple s'écrirait comme ceci:

if (mon ordi gèle) { je redémarre }

Rédaction d'une instruction conditionnelle

Comme nous venons de le voir, la structure de la conditionnelle est la suivante:

if (test) { action à réaliser si le test s'avère vrai }

Les conditionnelles simples et imbriquées

Test simple:

if (mon ordi gèle) { je redémarre }

Test à 2 actions

if (mon ordi gèle) { je redémarre } else { je continue à travailler }

Tests imbriqués

if (mon ordi gèle) { if (la souris bouge) { je fais CTRL-ALT-DELETE } else { je redémarre } }

Tests imbriqués avec multiples conditions

if (mon ordi gèle) { je redémarre } else if (l'application gèle) { je fais CTRL-ALT-DELETE }

Les opérateurs

Les opérateurs sont utiles pour effectuer des tests de comparaison ou d'égalité. Nous verrons ici les principaux opérateurs. Vous en trouverez quelques autres en sélectionnant Opérateurs > Opérateurs de comparaison dans l'éditeur ActionScript.

Les opérateurs && et ||

L'opérateur && est l'équivalent du ET en français. Il permet parfois d'éviter l'utilisation de tests conditionnels imbriqués.

if (l'application plante && la souris ne bouge plus) { je redémarre }

Avec cet opérateur, les deux tests doivent s'avérer vrais pour que l'action soit exécutée. Si un des tests est faux, rien ne se passera.

L'opérateur || est l'équivalent d'un OU. Une seule des conditions peut s'avérer vraie pour que le test réussisse.

if (l'ordi est lent || je manque de mémoire) { je quitte des applications }

Les opérateurs ==, >, <, et !=

L'opérateur == permet de tester l'égalité de deux valeurs. Notez bien qu'un seul signe = ne fonctionnerait pas, il s'agirait alors d'une affectation de valeur et non pas d'un test d'égalité. C'est une erreur très fréquente chez les novices.

if (variable == valeur) { action à effectuer si le test est vrai } if (variable == une autre variable) { action à effectuer si le test est vrai } if (variable == valeur de la propriété d'une occurence) { action à effectuer si le test est vrai }

Les opérateurs > et < sont assez simples à comprendre. Ils sont utiles pour comparer la supériorité ou l'infériorité des valeurs.

L'opérateur d'inégalité != permet de vérifier si une valeur est différente d'une autre.

if (variable != valeur) { action à exécuter }

Note: il y a une façon de simplifier les conditionnelles qui est pratique pour des tests à deux conditions dont les actions sont simples. Observez bien le test condtionnel suivant ainsi que sa réduction::

// Syntaxe normale if (test) { variable = valeur1; } else { variable = valeur2; } // Syntaxe simplifiée variable = (test ? valeur1 : valeur2);

La première valeur après le signe ? est celle que prendra la variable si le test retourne vrai, la seconde valeur est celle que prendra la variable si le test retourne faux.

Les conditions multiples avec switch

Il est possible d'évaluer une variable contre une série de valeurs connues. Par exemple, lorsqu'on jette un dé, on s'attend à obtenir une valeur entre 1 et 6. Un test conditionnel semblable peut s'exprimer avec l'instruction switch.

// La variable 'de' simule le lancer d'un dé de = random(6) +1; // On évalue la valeur de la variable contre une liste de // choix possibles switch(de) { case "1" : trace(1); break; case "2" : trace(2); break; case "3" : trace(3); break; case "4" : trace(4); break; case "5" : trace(5); break; case "6" : trace(6); break; default : trace("Le dé n'a pas été lancé!"); break; }

L'instruction break permet d'arrêter le test si la valeur a déjà été trouvée (à l'inverse, l'instruction continue ordonne de continuer à évaluer la valeur. En dernier lieu, nous avons ajouté l'instruction default. Cette instruction donnera l'action à exécuter si aucun des choix possibles ne s'est avéré vrai.

À propos | Formation | Ressources | Exercices
© 2004-2007, Jérôme Forget (ajouter au carnet d'adresses). Certains droits réservés.
Sous licence Creative Commons «Paternité - Partage des Conditions Initiales à l'Identique 2.0 Canada».
 Photos : stock.xchngPolitique de confidentialitéDéclaration qualité. Valide: XHTML | CSS.