Leçon 4

if ... else ...

Saisissez précisément le contenu du listing suivant dans votre éditeur de texte préféré (il est plus simple et plus rapide de faire un "copier-coller").

<HTML>
<HEAD>
<TITLE>Orthographe d'un nombre</TITLE>

<SCRIPT LANGUAGE="JavaScript">

function controler(mot)
{
if (mot=="trois cent vingt et un") {alert("Bravo\nVous avez bien orthographié")}
else {alert("Vous avez écrit "+mot+"\nIl fallait écrire trois cent vingt et un")}
}

</SCRIPT>
</HEAD>

<BODY>
Ecrivez en lettres le nombre 321:<BR>
<FORM>
<INPUT NAME="nombre" TYPE=Text SIZE="30">
<INPUT type="button" value="Cliquez ici"
onclick="controler(nombre.value)">
</FORM>
</BODY>
</HTML>

Sauvegardez ce script dans un fichier que vous appelerez nombre.html.
Démarrez maintenant un navigateur.
Ouvrez depuis votre navigateur le fichier nombre.html et voyez le résultat.

En cas de problème, cliquez ici pour voir le résultat.


Explications

À la leçon 3, nous avons vu comment passer un paramètre. Cette leçon, nous voyons comment l'utiliser à l'aide de l'instruction if (si). Il s'agit de contrôler si l'élève sait correctement orthographier le mot "trois cent vingt et un".
On a défini une fonction controler(mot), dont la tâche est d'afficher un message d'alerte qui indiquera soit que le mot est bien orthographié, soit l'orthographe correcte. Elle est appelée lorsque l'on clique sur le bouton défini plus bas (onclick="afficher(nombre.value)").

La syntaxe de l'instruction "si" est "if(condition) {instructions} else {instructions}".

Remarquez que lorsque l'on compare l'égalité, il faut écrire "==" ("=" est une affectation). Les autres symboles mathématiques de comparaison sont "<", "<=", ">", ">=", "!=" (différent de).
Lorsqu'il y a plusieurs conditions, on peut les lier par "||" (ou) ou bien "&&" (et). Exemple: if((i>0) && (i<10)) {instructions}. Le non logique est symbolisé par !(condition).
Remarquez enfin le symbole "\n" qui permet d'aller à la ligne.


Exercices

  1. Remplacez le symbole "==" par "=" et voyez le résultat du script.

  2. Modifiez le programme ci-dessus pour qu'il demande la capitale de la Suisse (Berne ou Bern) et donne deux réponses possibles, soit "Bravo", soit la correction.
    Indication: pour éviter les problèmes de majuscules, insérez la ligne mot=mot.toUpperCase() avant le test; cette méthode permet de convertir toutes les lettres du mot en majuscules. Pour les convertir en minuscules, la méthode est toLowerCase().

Correction: Cliquez ici pour voir le résultat, puis visualisez le code source.


Didier Müller, 11.10.20