Exercice 4/6

Soit la variable i qui vaut 0.

Dans le fichier "script.js" :

  • écrivez une structure while
  • tant que i est inférieure ou égale à 10:

    • écrivez une structure ìf else;
    • si i est impair, affichez i suivi de " Impair " avec document.write();
    • sinon, affichez i suivi de " Pair " avec document.write();
    • incrémentez i en fin de boucle;

      (attention assurez-vous d'incrémenté i en fin de boucle avant de tester/soumettre votre code sinon vous aurez une boucle infinie qui bloquera votre navigateur);

  • cliquez sur "Soumettre ma réponse".

Leçon 4/6

Exercice de rappel dans lequel il faut écrire un script qui affiche les nombres entre 0 et 10 et indiquer si le nombre est pair ou impair.

Pour savoir si c'est pair ou impair, un bon moyen est d'utiliser le modulo, l'opérateur % qui représente le reste entier d'une division.

Sachant que :

1 % 2 = 1;
2 % 2 = 0;
3 % 2 = 1;

On constate que un chiffre impair renvoi 1, un chiffre pair renvoi 0. En Javascript 1 est l'équivalent de true et 0 l'équivalent de false. Il est donc possible de vérifier si c'es pair ou impair.

Exemple de rendu :

0 Pair 1 Impair 2 Pair ...

Commentaires les mieux notés

467 Commentaires

  • MatheoUrbano

    MatheoUrbano

    bonsoir , mon code fonctionne bien mais ne se valide pas , ou ai je fais une erreur svp? joyeuses fetes

    le 26/12/2022 à 21h49

  • Patricio M

    Patricio M Admin

    Matheo, la condition IF est mal écrite, voici la bonne réponse if(i % 2) et tu dois laisser un espace entre le " et Impair

    le 02/01/2023 à 08h15

  • fadela.fellah-48

    fadela.fellah-48

    Bonjour, je ne trouve pas mon erreur

    le 26/10/2022 à 10h05

  • Patricio M

    Patricio M Admin

    Indente bien ton code, please! Tu veras plus clair. Le reste est bon

    le 27/10/2022 à 08h33

  • raxouff-11

    raxouff-11

    mon code fonctionne mais il me dis pas besoin de toucher a la variable i je ne pourais pas savoir le chiffre a vérifier dans ce cas var i = 0; /* Votre boucle ici */ var i = 0; while(i<=10)&#123; if(i%2 == 0)&#123; document.write('Impair')} else&#123; document.write('Pair')} i++ }

    le 09/08/2022 à 22h04

  • Patricio M

    Patricio M Admin

    Raxouff, je ne comprend pas ta question. Tu peux la reformuler?

    le 19/08/2022 à 08h00

  • HakimZ

    HakimZ

    Bonjour, mon code semble correct, néanmoins je me retrouve dans une boucle infinie.. Merci d'avance

    le 30/06/2022 à 13h34

  • meriam

    meriam Admin

    Bonjour, il faut supprimer le ; aprés la condition de la boucle for.

    le 30/06/2022 à 14h15

  • julien.blacteau-1

    julien.blacteau-1

    Je ne comprend pas pourquoi ça ne fonctionne pas... var i = 0; /* Votre boucle ici */ while(i<=10)&#123; if(i%2)&#123; document.write(i+"Impair"); } else&#123; document.write(i+"Paire"); } i++;}

    le 28/05/2022 à 15h35

  • meriam

    meriam Admin

    Bonjour, il suffit de respecter le message demandé par l'énoncé. Il faut laisser un espace avant et aprés le mot Impair et Pair==> " Pair " et " Impair "

    le 03/06/2022 à 16h42

  • runy.alen-100

    runy.alen-100

    Bonjour je ne comprend comment JS arrive à comprendre si notre nombre est pair ou impaire si dans notre if else il n' y a pas if (i === 0) &#123;document.write("Impair"} else &#123;document.write("Pair")} Merci

    le 27/03/2022 à 21h05

  • meriam

    meriam Admin

    Bonjour, c'est graçe aux structures de contrôle, tout dépend des instructions.

    le 28/03/2022 à 08h53

  • DianeOttawa

    DianeOttawa

    Bonjour, je n'arrive pas à valider mon code, j'ai ceci comme message : Avez-vous bien écrit le contenu du document.write de votre if ?

    le 02/02/2022 à 14h12

  • meriam

    meriam Admin

    Bonjour, pour le contenu de document.write, laissez un espace avant aprés le mot Pair et Impair ==> " Pair " et " Impair "

    le 03/02/2022 à 09h22

  • mickaelzielinski-34

    mickaelzielinski-34

    bonjour j'ai bien mis un espace entre pair et impair et malgré ca on me dit que le script a mis trop longtemps à s'executer

    le 26/01/2022 à 13h51

  • meriam

    meriam Admin

    Bonjour, à la fin de code, vous avez une accolade fermante inutile.

    le 27/01/2022 à 09h28

  • mickaelzielinski-34

    mickaelzielinski-34

    var i = 0; /* Votre boucle ici */ while( i <=10)&#123; if (i%2)&#123; document.write(i + " Impair") } else document.write(i + " Pair") } i++; je suis perdu je n'arrive pas à trouver mon erreur

    le 25/01/2022 à 17h59

  • meriam

    meriam Admin

    Bonjour, il faut laisser un espace avant et aprés le mot Pair et Impair comme demandé par l'énoncé ==> " Pair " et " Impair "

    le 26/01/2022 à 09h26

  • affoque-fayza-68

    affoque-fayza-68

    Bonjour Meriam, J'ai bien corrigé les espaces avant et aprés "Pair" et "Impair", mais j'ai ce message : Votre script a mis trop de temps à s'exécuter, auriez-vous une boucle infinie ? Voici mon code corrigé : var i = 0; while (i <= 10) &#123; if (i % 2) &#123; document.write(i + " Impair ") } else &#123; document.write(i + " Pair ") } i++ } }

    le 14/01/2022 à 11h07

  • meriam

    meriam Admin

    Bonjour, aprés l'incrémentation de i, vous une accolade fermante supplémentaire.

    le 14/01/2022 à 13h24

  • meriam

    meriam Admin

    Bonjour, aprés l'incrémentation de i, vous avez une accolade fermante supplémentaire

    le 14/01/2022 à 13h24

  • affoque-fayza-68

    affoque-fayza-68

    Je ne comprends pas le message d'erreur : Avez-vous bien écrit le contenu du document.write de votre if ?. Voici mon code : var i = 0; while (i <= 10) &#123; if (i % 2) &#123; document.write(i + "Impair") } else &#123; document.write(i + "Pair") } i++ }

    le 12/01/2022 à 17h37

  • meriam

    meriam Admin

    Bonjour, vous devez laisser un espace avant et aprés " Impair " et " Pair "

    le 13/01/2022 à 12h11

  • clwollb-93

    clwollb-93

    Bonjour, mon code semble correct, mais je n'arrive tout de même pas à valider. Pouvez-vouq m'aider?

    le 05/01/2022 à 10h44

  • meriam

    meriam Admin

    Bonjour, if (i % 2) { document.write(i + " Impair "); }

    le 05/01/2022 à 11h05

  • hubliste-4

    hubliste-4

    je comprends pas le "document.write is not a form of eval" probleme de synthax?

    le 29/12/2021 à 15h35

  • meriam

    meriam Admin

    Merci de respecter les messages demandés par l'énoncé.

    le 02/01/2022 à 22h20

  • gaellaurent-89

    gaellaurent-89

    Bonjour, je finis ma boucle avec &#123; i++;}} et j'ai un message que je dois incrémenter le i ? du coup je ne peux pas valider, vous remerciant

    le 24/12/2021 à 12h34

  • meriam

    meriam Admin

    Bonsoir, il faut supprimer les accolades qui entourent l'instruction i++

    le 26/12/2021 à 23h02

  • anthony.leloup-34

    anthony.leloup-34

    petite question sans regarder l'astuce j'avais fait ça : while (i<=10) &#123; if (i=2 || i=4 || i=6 || i=8 || i=10) &#123; document.write (i) } else &#123; document.write (i); i-- } } c'est correct?

    le 13/12/2021 à 08h23

  • meriam

    meriam Admin

    Oui, mais le code doit être dynamique.

    le 13/12/2021 à 13h51

index.html
script.js
<!DOCTYPE HTML> <html> <head> <title>Exercice rappel 4</title> <script src="script.js"></script> </head> <body> </body> </html>
var i = 0; /* Votre boucle ici */