Exercice 10/16

Soit la variable number déjà déclarée et qui contient une valeur aléatoire entre -10 et 10.

Dans le fichier "script.js" :

  • écrivez une structure if, else if, else;
  • vérifiez si number et strictement positif;
  • si c'est le cas affichez "C'est positif" avec alert();;
  • vérifiez si number est négatif;
  • si c'est le cas affichez "C'est négatif" avec alert();
  • si les deux conditions ne sont pas vérifiées, affichez "C'est zéro" avec alert();;
  • cliquez sur "Soumettre ma réponse".

Leçon 10/16

Vous savez utiliser une structure if et else pour tester si une condition est vérifiée ou pas. Il est aussi possible de tester plusieurs conditions les unes après les autres en procédant ainsi :

  • la première condition est testée avec if;
  • une deuxième condition est testée si la précédente n'est pas vérifiée avec else if;
  • d'autres conditions peuvent être testées en ajoutant autant de else if;
  • enfin, si aucune des conditions précédentes n'est vérifiée, la structure else exécute le code souhaité;

La structure elseif (sinon si)

Avec else if il est donc possible de tester plusieurs conditions à la fois:

if (condition1)
{
    // Code exécuté si "condition1" est vérifié
}
else if (condition2)
{
    // Code exécuté si "condition1" n'est pas vérifié...
    // ... et si "condition2" est vérifiée
}
else if (condition3)
{
    // Code exécuté si "condition2" n'est pas vérifée...
    // ... et si "condition3" est vérifiée
}
... // Ainsi de suite
else
{
    // Si aucune des conditions n'est vérifiée alors le code ici est exécuté
}

Une structure conditionnelle doit rester lisible, surtout quand elle devient complexe, aussi il est fortement conseillé de l'écrire comme ceci :

if ()
{
    // Votre code ici
}
else if ()
{
    // Votre code ici
}
else
{
    // Votre code ici
}
  • un espace entre le if ou elseif et les parenthèses ();
  • allez à la ligne pour ouvrir les accolades {;
  • indentez le code entre les accolades avec une tabulation pour bien voir la hiérarchie;
  • allez à la ligne pour fermer les accolades;
  • les 2 accolades doivent être alignées, ainsi vous verrez plus facilement si il y a un oubli et à quel niveau;
  • le elsei doit se trouver entre le if et le else;

Cet exemple est une très bonne façon d'écrire des conditions et dans cet exercice vous devez utiliser ce modèle.

Commentaires les mieux notés

177 Commentaires

  • Marie

    Marie

    problème résolu :)

    le 31/05/2022 à 13h38

  • meriam

    meriam Admin

    N'hésitez pas à demander de l'aide si vous trouvez des problèmes dans les exercices suivants.Bon travail.

    le 01/06/2022 à 19h58

  • Marie

    Marie

    Bonjour, je ne comprends pas pourquoi on me dit que dans mon else if il faut comparer 0 pour savoir si Number est négatif ?

    le 31/05/2022 à 13h36

  • meriam

    meriam Admin

    Bonjour, pour la structure else il faut vérifier si number est inférieur à 0 pour conclure que number est négatif

    le 01/06/2022 à 19h58

  • verone86-58

    verone86-58

    Bonjour, je ne comprends pourquoi le code de ma structure else est faux... pourriez-vous m'éclairer svp ?

    le 27/05/2022 à 08h55

  • meriam

    meriam Admin

    Bonjour, au niveau de la structure else if, l faut supprimer le point-virgule situé aprés la condition.

    le 30/05/2022 à 15h16

  • nniatsireb-31

    nniatsireb-31

    Bonjour je ne peux pas voir si fonctionne mon résultat dans presque tout les exercises.

    le 01/04/2022 à 09h37

  • meriam

    meriam Admin

    Si non, il faut cliquer sur le lien suivant : http://localhost:8080

    le 05/04/2022 à 20h01

  • c.ottaviani.33-89

    c.ottaviani.33-89

    Bonjour, je ne comprend pas pourquoi il me dit "Dans votre if, vous devez vérifier si number est strictement positif" quand je soumet le code.

    le 20/01/2022 à 16h17

  • meriam

    meriam Admin

    Bonjour, vous devez changer la condition de la structure if et else if ==>if (number > 0) { alert("C'est positif") }

    le 21/01/2022 à 12h09

  • meriam

    meriam Admin

    alors que avez écrit if(typeof number >0){}

    le 21/01/2022 à 12h10

  • chloe.doliveira-96

    chloe.doliveira-96

    solution : if (number > 0) &#123;alert("C'est positif"); } else if (number < 0) &#123;alert("C'est négatif"); } else &#123;alert("C'est zéro"); }

    le 13/12/2021 à 12h50

  • meriam

    meriam Admin

    Bonjour, votre code fonctionne correctement.

    le 13/12/2021 à 13h59

  • Cheick

    Cheick

    var number = Math.floor((Math.random() * 21) - 10); if (number>0)&#123; alert("C'est positif"); } else if(number<0)&#123; alert("c'est négatif"); } else (number);&#123; alert("C'est zéro"); }

    le 08/12/2021 à 16h08

  • meriam

    meriam Admin

    Bonjour, il faut ajouter une condition pour la structre else.

    le 08/12/2021 à 16h11

  • rosa.scimeca-65

    rosa.scimeca-65

    Bonjour, aidez moi svp, je ne vois pas l'erreur

    le 06/12/2021 à 22h04

  • meriam

    meriam Admin

    Bonjour, il faut supprimer la condition que avez ajouté aprés la structure else.

    le 07/12/2021 à 13h08

  • alphandlouisofficiel-54

    alphandlouisofficiel-54

    bonjour, pk j'ai une boucle infini ?

    le 19/11/2021 à 10h57

  • meriam

    meriam Admin

    Bonjour, vous devez utiliser if, else if et else (comme indiqué )

    le 19/11/2021 à 14h03

  • emanuela.rossetti-92

    emanuela.rossetti-92

    Peut être que ca pourra aider quelqu'un var number = Math.floor((Math.random() * 21) - 10); if (number > 0) &#123; alert("C'est positif"); } else if (number < 0) &#123; alert("C'est négatif"); } else &#123; alert("C'est zéro"); }

    le 26/10/2021 à 13h06

  • meriam

    meriam Admin

    N'hésitez pas à demander de l'aide si vous trouvez des problèmes dans les exercices suivants.

    le 26/10/2021 à 14h08

  • kuntzeva-44

    kuntzeva-44

    Bonjour, pouvez-vous m'aider pour la résolution de cet exercice svp?

    le 13/10/2021 à 09h22

  • meriam

    meriam Admin

    Bonjour, remplacer le code suivant &#123; par une accolade ouvrante {

    le 15/10/2021 à 14h20

  • kuntzeva-44

    kuntzeva-44

    Bonjour,

    le 13/10/2021 à 09h21

  • meriam

    meriam Admin

    Bonjour, remplacer le code suivant &#123; par une accolade ouvrante {

    le 15/10/2021 à 14h20

  • cedricmelou-35

    cedricmelou-35

    bonjour ile me met boucle infinie :( Quel est mon erreur dans mon code. Merci

    le 02/09/2021 à 14h47

  • meriam

    meriam Admin

    Bonjour, vous devez supprimer le point virgule juste aprés la condition de if et else if.

    le 06/09/2021 à 13h54

  • evan.collebrusco-87

    evan.collebrusco-87

    var number = Math.floor((Math.random() * 21) - 10); if (number >0 ); alert("C'est positif");} else if (number < 0) ; alert("C'est négatif");} else (number = 0); alert("C'est zéro");}

    le 10/08/2021 à 12h26

  • meriam

    meriam Admin

    Bonjour, il faut supprimer le point-virgule aprés l'accolade ouvrante de chaque structure.

    le 12/08/2021 à 10h44

  • Esraka

    Esraka

    bonsoir j'ai une boucle infini ou est mon erreur svp merci

    le 05/06/2021 à 16h53

  • meriam

    meriam Admin

    Bonjour, il faut pas ajouter une condition avec la structure conditionnelle else.

    le 06/06/2021 à 23h56

index.html
script.js
<!DOCTYPE HTML> <html> <head> <title>La structure elseif</title> <script src="script.js"></script> </head> <body> </body> </html>
/* Pas besoin de modifier la variable number */ var number = Math.floor((Math.random() * 21) - 10); /* Vos conditions ici */