|
|
|
|
|
- Leçon 4 - Les instructions conditionnelles
- Présentation
- Exemple pratique
- L'instruction SI
- L'instruction SELON
- En résumé
Tuto - Les bases du WLangage
Leçon 4 - Les instructions conditionnelles Ce que vous allez apprendre : - L'instruction SI.
- L'instruction SELON.
20 mn Le WLangage est une suite d'instructions manipulant des données. Les instructions conditionnelles permettent de comparer des variables et/ou des valeurs entre elles afin de faire des traitements différents. Il existe plusieurs instructions conditionnelles : - SI... ALORS... SINON... FIN
- SELON ...
Exemple pratique Pour réaliser les manipulations de cette leçon, nous allons reprendre le projet "WLangage" que nous avons utilisé dans la leçon précédente. Le principe est toujours le même : le code exemple va être saisi directement dans l'événement "Initialisation" du projet. Pour afficher les événements WLangage liés au projet : - Dans la barre des éléments ouverts, faites un clic droit sur le bouton "P". Le menu contextuel s'affiche.
- Sélectionnez l'option "Code de l'élément".
- L'éditeur de code affiche les différents événements associés au projet.
Cette instruction permet d'exécuter un traitement ou un autre en fonction du résultat d'une expression. Si l'expression est vérifiée, un traitement est lancé ; si l'expression n'est pas vérifiée, un autre traitement peut être lancé. L'instruction SI s'utilise comme ci-dessous : SI <Expression à vérifier> ALORS Traitement à exécuter dans le cas où l'expression est vérifiée SINON Traitement à exécuter dans le cas contraire FIN Nous allons tester cette instruction grâce à un exemple simple de code WLangage : - Supprimez si nécessaire le code WLangage présent dans l'événement "Initialisation" du projet et copiez le code suivant.
Ce code sélectionne un nombre au hasard et selon la valeur affiche un message.
NombreAléatoire est un entier
InitHasard()
NombreAléatoire = Hasard(100, 4000)
Trace("Valeur du nombre aléatoire " + NombreAléatoire)
SI NombreAléatoire > 2000 ALORS
Trace("Nombre supérieur à 2000")
SINON
Trace("Nombre inférieur ou égal à 2000")
FIN
Dans ce code, l'expression à vérifier correspond à "NombreAléatoire>2000". - Testons immédiatement ce code : cliquez sur parmi les boutons d'accès rapide.
- Affichez si nécessaire le volet "Trace du débogueur" pour voir le résultat : sous le volet "Accueil", dans le groupe "Environnement", déroulez "Volets" et sélectionnez "Volets" puis "Trace du débogueur".
- Le volet "Trace du débogueur" contiendra le message correspondant à votre cas (le nombre étant aléatoire, le message peut changer à chaque test !).
Remarque : L'instruction SI peut également être présentée sous forme d'une seule ligne grâce à l'instruction "? ... SINON" (l'instruction est ici sur 2 lignes car elle ne rentre pas dans la page !) : <Expression à vérifier> ? <Traitement si expression vérifiée> SINON <Traitement dans le cas contraire> Cette instruction est une forme abrégée de l'instruction SI ... ALORS ... SINON : elle prend moins de place, mais elle est peut être moins simple à comprendre. Pour notre exemple, le code devient :
Trace(NombreAléatoire > 2000 ? "Nombre supérieur à 2000" SINON "Nombre inférieur ou égal à 2000")
Dans une instruction SI, il est également possible de cumuler ou non les conditions grâce aux mots-clés ET et OU. Voici quelques exemples simples que vous pouvez tester directement. - Condition composée avec le mot-clé ET : Permet de savoir si deux conditions sont respectées. Les deux conditions sont évaluées.
Condition1 est un booléen = Faux
Condition2 est un booléen = Vrai
SI Condition1 ET Condition2 ALORS
Trace("Condition1 ET Condition2 : <vrai>")
SINON
Trace("Condition1 ET Condition2 : <faux>")
FIN
En lançant à nouveau le test du projet, vous obtiendrez dans le volet "Trace du débogueur" :
Condition1 ET Condition2 : <faux> - Condition composée avec le mot-clé OU : Permet de de tester si l'une ou l'autre des conditions sont respectées. Là aussi, les deux conditions sont évaluées.
Condition1 est un booléen = Faux
Condition2 est un booléen = Vrai
SI Condition1 OU Condition2 ALORS
Trace("Condition1 OU Condition2 : <vrai>")
SINON
Trace("Condition1 OU Condition2 : <faux>")
FIN
En lançant à nouveau le test du projet, vous obtiendrez dans le volet "Trace du débogueur" :
Condition1 OU Condition2 : <vrai>
Il est possible de ne pas évaluer la seconde condition si la première condition est fausse : il suffit d'utiliser le mot-clé _ET_. De la même manière, en utilisant le mot-clé _OU_, si la première partie de l'expression est vraie, la suite de l'expression n'est pas évaluée.
Pour plus de détails, consultez Instruction SI. Cette instruction permet d'évaluer une expression et d'exécuter un traitement pour chaque valeur possible de l'expression. L'instruction SELON s'utilise comme ci-dessous : SELON <Expression> CAS Valeur 1 : Traitement 1 CAS Valeur 2 : Traitement 2 ... CAS Valeur N : Traitement N
AUTRES CAS Traitement FIN Nous allons écrire un petit code WLangage afin de tester cette instruction : - Supprimez si nécessaire le code WLangage présent dans l'événement "Initialisation" du projet et copiez le code suivant. Ce code récupère la date du jour et selon sa valeur affiche un message différent. Pour le 1er et le 15 du mois, un message spécifique est affiché. Dans les autres cas, la date du jour est affichée.
LaDateDuJour est une Date
SELON LaDateDuJour.Jour
CAS 1 : Trace("Nous sommes le premier jour du mois.")
CAS 15 : Trace("Nous sommes le 15 du mois.")
AUTRES CAS : Trace("Nous sommes le : " + LaDateDuJour.VersChaîne())
FIN
Le WLangage est composé de fonctions et de propriétés. Les fonctions peuvent attendre des paramètres et renvoient des résultats. Les propriétés sont directement appliquées aux champs ou aux variables grâce à la syntaxe : <Nom du champ ou de la variable>.<Nom de la propriété> Dans notre exemple, la propriété Jour est utilisée sur la variable LaDateDuJour pour obtenir le jour de la date. - Testons immédiatement ce code : cliquez sur parmi les boutons d'accès rapide.
- Le volet "Trace du débogueur" contiendra le message correspondant à votre cas (selon la date du jour, le message peut changer !). Par exemple, si le test est lancé le 28/11/2021 :
Nous sommes le : 28/11/2021
Remarques : - Si la ligne de code "CAS 1:..." est exécutée, les autres lignes de code correspondant aux valeurs possibles ne sont pas exécutées.
- Il est possible de regrouper dans le même cas plusieurs valeurs. Les différentes valeurs sont séparées par une virgule. Par exemple, pour tester le mois de la date, il est possible de compléter notre code WLangage par les lignes suivantes :
SELON LaDateDuJour.Mois
CAS 1, 2, 3 : Trace("Nous sommes au premier trimestre de l'année.")
CAS 4 <= * <= 6 : Trace("Nous sommes au deuxième trimestre de l'année.")
CAS > 6 : Trace("Nous sommes au second semestre de l'année.")
FIN
En lançant à nouveau le test du projet, vous obtiendrez dans le volet "Trace du débogueur" pour le 28/11/2021 :
Nous sommes le : 28/11/2021 Nous sommes au second semestre de l'année.
- Dans nos exemples, le traitement correspondant à une valeur de l'expression est composé d'une seule ligne de code, placé directement après l'instruction "CAS X :". Il est également possible d'exécuter plusieurs lignes de code. Dans ce cas, les différentes lignes de code sont placées sous l'instruction "CAS X :". La syntaxe à utiliser est la suivante :
SELON <Expression> CAS Valeur 1 : Traitement 1 - Ligne de code 1 Traitement 1 - Ligne de code 2 CAS Valeur N : Traitement N - Ligne de code 1 Traitement N - Ligne de code 2 AUTRES CAS Traitement FIN
Pour plus de détails, consultez Instruction SELON. Dans cette leçon, vous avez découvert deux types d'instructions conditionnelles que propose le WLangage : - l'instruction SI,
- l'instruction SELON.
Dans la prochaine leçon nous verrons comment gérer les boucles en WLangage.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|