Exercice 3/6

Dans le fichier "script.js" :

  • déclarez la variable i avec la valeur 0;
  • écrivez une structure while;
  • tant que i est inférieure ou égale à 10:
    • affichez avec document.write() les valeurs paires de i (voir l'astuce);
  • cliquez sur "Soumettre ma réponse".

Leçon 3/6

Exercice de rappel dans lequel il faut écrire un script qui affiche les nombres pairs entre 0 et 10.

Exemple de rendu :

0 2 4 ...

Exceptionnellement ici, il ne faut pas forcément incrémenter i en faisant i++.

Commentaires les mieux notés

  • sonia.RACHU-37

    c'st possible de me corriger mon code svp ...merci

  • mram Administrateur

    Presque oui, en fait ligne 4 il faut juste écrire le chiffre en question (donc "i") et c'est après qu'on incrémente "i" de 2.

  • mram Administrateur

    ligne 1, pourquoi partir de -2 ?? Et attention ligne 4 vous affichez la valeur de i+2 mais "i" n'est pas incrémenté de +2 à chaque itération pour autant.

  • Alex

    Bonjour, j'ai à nouveau besoin de vos lumières. La correction de mon code me retourne le message suivant : "Avez-vous bien écrit la structure de la boucle WHILE ?". Je pense que oui, mais je peux me tromper. Voici mon code : var i = 0; while (i <= 10) { document.write(i + " "); i = i + 2; //j'incrémente i de 2 à chaque itération }

64 Commentaires

  • mram

    mram Administrateur

    Presque oui, en fait ligne 4 il faut juste écrire le chiffre en question (donc "i") et c'est après qu'on incrémente "i" de 2.

    le 29/10/2016 à 17h00

  • mram

    mram Administrateur

    ligne 1, pourquoi partir de -2 ?? Et attention ligne 4 vous affichez la valeur de i+2 mais "i" n'est pas incrémenté de +2 à chaque itération pour autant.

    le 05/03/2017 à 11h19

  • Alex

    Alex

    Bonjour, j'ai à nouveau besoin de vos lumières. La correction de mon code me retourne le message suivant : "Avez-vous bien écrit la structure de la boucle WHILE ?". Je pense que oui, mais je peux me tromper. Voici mon code : var i = 0; while (i <= 10) { document.write(i + " "); i = i + 2; //j'incrémente i de 2 à chaque itération }

    le 05/03/2017 à 17h33

  • Ana_elle

    Ana_elle

    Bonjour, j'avais le même problème, avec i+=2 j'obtenais 24681012. J'ai réussi à corriger en utilisant if et break. j'imagine que ce n'est pas ce qui est attendu car ç

    le 06/02/2017 à 15h21

  • jenebakone

    jenebakone

    merci de votre aide

    le 30/10/2016 à 00h41

  • Alex

    Alex

    Suite de mon com précédent : le titre de l'exercice parle d'un script qui conditionne l'affichage, or mon code ne conditionne rien du tout : il ne fait qu'afficher les valeurs pairs entre 0 et 10. Je vais explorer cette piste.

    le 05/03/2017 à 17h50

  • david.messagerie

    david.messagerie

    var i = -2; while (i <= 10) { document.write(i+=2); document.write(" "); } Avez vous bien écrit la structure dela boucle while ?

    le 03/03/2017 à 22h55

  • Ana_elle

    Ana_elle

    Bonjour, j'obtenais le même résultat avec i+=2 (24681012). J'ai réussi à corriger en utilisant IF et Break, le correcteur ne valide pas mais cela fonctionne : est-ce que c'est correct? Je ne vois pas trop quoi modifier pour valider l'exercice. Merci.

    le 06/02/2017 à 15h24

  • mram

    mram Administrateur

    Vous cherchez trop compliqué : pas besoin de condition ni de break dans la boucle. Il suffit d'inverser les lignes 8 et 9 sur le dernier code.

    le 09/02/2017 à 00h03

  • v.redois

    v.redois

    AVEZ-VOUS BIEN ÉCRIT LA STRUCTURE DE LA BOUCLE "WHILE" ?

    le 23/05/2016 à 00h33

  • mram

    mram Administrateur

    C'est corrigé et ce sera mis à jour prochainement.

    le 23/05/2016 à 00h33

  • mram

    mram Administrateur

    Ligne 4 il faut juste mettre le "i" dans les parenthèses. Ligne 5 il faudrait utiliser la notation raccourcie, il existe un opérateur spécial pour cela que vous avez déjà vu.

    le 09/03/2017 à 00h40

  • Darwine

    Darwine

    Je ne trouve pas mon erreur " avez vous bien écrit la structure while"?

    le 10/10/2016 à 17h39

  • Pakal texas ranger

    Pakal texas ranger

    bonjour Avez vous bien écrit la structure de la boucle WHILE... voici mon code, et il fonctionne :) je comprend pas je passe :) var i = 0 while ( i <= 10 ) { document.write( i ); i += 2; }

    le 09/03/2017 à 12h37

  • patricerameaux

    patricerameaux

    visiblement ça marche mais toujours un message d'erreur : pourquoi ?

    le 12/10/2016 à 10h04

  • mram

    mram Administrateur

    Ligne 4, les 2 instructions doivent être chacune sur une ligne. Sinon oui le code est bon.

    le 14/03/2017 à 00h19

  • brett.anna

    brett.anna

    Bonjour Mram, J'ai une petite question concernant l'énoncé. Il est demandé d'afficher les nombres paires compris entre 0 et 10. Avec une condition i <= 10 le résultat est: 2 4 6 8 10 12 Donc pour moi faux car il l'énoncé demande entre 0 et 10. Avec une condition i < 10 le résultat est 2 4 6 8 10. Donc bon pour moi. Malheureusement, le robot n'accepte pas mon code, qui est : var i = 0; while (i < 10) { i += 2; document.write(i); } Pouvez vous m'indiquer mon erreur svp.

    le 16/03/2017 à 10h16

  • brett.anna

    brett.anna

    Désolé, c'est moi qui est fait une erreur en mettant littérateur i +=2 avant document.write. Encore désolé pour le dérangement.

    le 16/03/2017 à 14h54

  • mram

    mram Administrateur

    @patricerameaux : lignes 3 à 6 il y a une indentation en trop.

    le 16/10/2016 à 23h09

  • mram

    mram Administrateur

    @Darwine : il faut un espace après "while" ligne 2...

    le 16/10/2016 à 23h10

  • mram

    mram Administrateur

    Et oui, attention à l'ordre d'exécution des instructions.

    le 21/03/2017 à 17h25

  • jenebakone

    jenebakone

    Bonjour,j'ai essayé i+=2 ce qui me donne le résultat:24681012.Cependant on demande si j'ai bien écrit la structure de la boucle while. Suis je proche de la solution?

    le 27/10/2016 à 10h50

  • willy.julan

    willy.julan

    bonjour même message !!

    le 23/07/2016 à 16h50

  • mram

    mram Administrateur

    Regardez l'astuce ...

    le 25/07/2016 à 16h32

  • willy.julan

    willy.julan

    bonjour, si c'est le cas il faut juste faire incrémenter i de 2 :) j'ai pensé trop complexe !!

    le 25/07/2016 à 21h40

  • pascal-ds

    pascal-ds

    bon, ben comme d'hab', le script fonctionne et affiche bien 0246810, mais le correcteur demande si j'ai bien écrit la boucle while... :o( Il a un problème avec while ??? pas compris l'utilité de l'astuce...

    le 29/08/2016 à 11h09

  • willy.julan

    willy.julan

    j'ai fait autrement mais même message, j'ai pas d'autre idée !!

    le 26/07/2016 à 09h46

  • mram

    mram Administrateur

    C'est presque ça. Mais il y a une petite erreur ligne 5, il suffit de faire une addition simple ...

    le 26/07/2016 à 19h17

  • mram

    mram Administrateur

    La solution du modulo est bien trouvée, mais vous cherchez trop compliqué. Même si le code fonctionne il y a moyen de faire plus simple (sans le modulo, sans le if et à ce moment là il faut utiliser l'astuce) :)

    le 29/08/2016 à 15h56

  • mram

    mram Administrateur

    Petite précision, le but de l'exercice est de montrer que le modulo (bien que pratique) n'est pas la seule solution et surtout la solution la plus simple dans tous les cas. C'est pourquoi bien qu'avec le modulo ça fonctionne, nous ne l'acceptons pas, afin de vous faire trouver l'alternative la plus simple :)

    le 29/08/2016 à 16h00

  • pascal-ds

    pascal-ds

    Evidemment, on peut incrémenter de 2 en 2... là encore le script fonctionne mais pas la correction.

    le 30/08/2016 à 08h46

  • mram

    mram Administrateur

    C'est qu'il y a un autre moyen d'écrire la ligne 5, avec une façon plus simple que vous avez déjà vu ;)

    le 30/08/2016 à 13h46

  • simon.fred

    simon.fred

    Bonjour, je ne comprend pas, il me dit aussi que j'ai un problème dans ma boucle while et il m'indique "document.write can be a form eval". J'ai tout vérifier et je lu tous les commentaires, je ne comprends pas. pourriez vous m'aider s'il vous plait ? merci

    le 24/11/2017 à 12h21

  • mram

    mram Administrateur

    Bonjour, votre code était juste mal indenté. Concernant le triangle jaune, ça n'a rien à voir avec la correction automatique. C'est l'éditeur de texte qui n'aime pas qu'on utilise document.write pour insérer du code dans le HTML. Mais dans le cadre de ces exercices ce n'est pas un problème.

    le 26/11/2017 à 20h05

  • simon.fred

    simon.fred

    re bonjour, c'est bon j'ai trouvé la solution. Pour info, il faut mettre un espace après while et bien ranger sont code. merci

    le 24/11/2017 à 14h27

  • mram

    mram Administrateur

    Oui c'est ça, il faut essayer de bien arranger son code pour qu'il soit un minimum lisible.

    le 26/11/2017 à 20h06

  • stephane.barroqueiro

    stephane.barroqueiro

    Bonjour j'obtiens le résultat attendu lors de l’exécution du JavaS, j'ai même ajouté un espace pour plus de lisibilité, cependant le même message d'erreur concernant la structure while s'affiche lorsque je tente de valider. éclairez moi svp.

    le 20/01/2018 à 15h07

  • mram

    mram Administrateur

    Bonjour, c'est la deuxième ligne dans la boucle qui était mal indentée. Sinon bien trouvé pour l'incrémentation de " i ".

    le 22/01/2018 à 11h35

  • ts.fabius-98

    ts.fabius-98

    Bonjour, je n'arrive pas à trouver mon erreur..on me dit "Avez-vous bien écrit la structure de la boucle "while" ?"

    le 13/09/2018 à 14h29

  • mram

    mram Administrateur

    Bonjour, ligne 4 après le ; il faut aller à la ligne.

    le 16/09/2018 à 08h30

  • Joany

    Joany

    Help

    le 12/10/2018 à 15h48

  • meriam

    meriam Administrateur

    C'est quoi le message d'erreur affiché, j'ai testé votre code et ça fonctionne correctement.

    le 12/10/2018 à 16h05

  • stephane.barroqueiro

    stephane.barroqueiro

    Bonjour, ne tenez pas compte de mon précédent commentaire, j'avais déclaré deux fois la var i. encore désolé.

    le 21/01/2018 à 20h28

  • florent.portail-91

    florent.portail-91

    Quasiment à tout les exercices on me demande si j'ai bien écrit la structure while, je comprends le fait que notre code doit être aérer et le plus lisible possible mais a chaque fois je suis obligé de passé l'exercice, ou alors j'écris mal les boucles, help !!!

    le 23/08/2018 à 17h41

  • mram

    mram Administrateur

    D'un point de vue logique de code c'est bon. Mais niveau syntaxe il y a moyen de faire mieux.

    le 05/09/2018 à 19h32

  • lisa.dutour-63

    lisa.dutour-63

    Bonjour, pouvez-vous m'aider à repérer mon erreur ? Merci beaucoup

    le 05/09/2018 à 17h34

  • mram

    mram Administrateur

    Bonjour, quel est le message d'erreur svp ? Ca aidera à identifier le souci.

    le 05/09/2018 à 19h09

  • alexismoquet

    alexismoquet

    bjr, je ne comprend pas mon erreur, mon code est-il correct ?

    le 05/10/2017 à 15h35

  • mram

    mram Administrateur

    Bonjour, votre code est correct. Il y a juste des espaces inutiles en fin de ligne 4.

    le 09/10/2017 à 00h33

  • Leob974

    Leob974

    Bonjour, mon code affiche bien 246810, mais je ne parviens pas à le valider

    le 26/06/2018 à 14h35

  • mram

    mram Administrateur

    Bonjour, oui mais il faut partir de zéro : 0, 2, 4, 6 ...

    Il n'y a pas grand chose à faire, c'est presque bon :)

    le 28/06/2018 à 03h55

  • bernardraphael13

    bernardraphael13

    bonjour j'ai remplacé write par alert , et j'obtiens le bon résultat mais j'ai une erreur avec la structure while pouvez vous m'aider car j'ai cette erreur récurrente merci d'avance.

    le 30/06/2017 à 14h48

  • mram

    mram Administrateur

    Bonjour, il faut ajouter une indentation aux lignes 5 et 6.

    le 07/07/2017 à 10h54

  • dilmi.chourouk

    dilmi.chourouk

    les nombres pairs entre 0 et 10 >>> var i = -2; while (i<10) { document.write(i+=2); }

    le 24/01/2018 à 16h24

  • nathalie.2080

    nathalie.2080

    Bonjour,ça fonctionne mais exercice non validé...help

    le 27/12/2017 à 17h26

  • mram

    mram Administrateur

    Bonjour, votre code semble correct. Quelle erreur avez-vous ?

    le 30/12/2017 à 12h41

  • dilmi.chourouk

    dilmi.chourouk

    parcontre l'exercice ne se valide pas var i = 0; while ( i<=10 ) { document.write( i+=2 ); } ...........

    le 24/01/2018 à 16h39

  • mram

    mram Administrateur

    Bonjour, attention il faut juste afficher "i" puis ensuite l'incrémenter de 2. Là vous faites les deux en même temps.

    le 24/01/2018 à 17h07

  • keikoku4

    keikoku4

    Bonjour, je ne comprend pas mon erreur ?

    le 18/12/2017 à 12h02

  • mram

    mram Administrateur

    Bonjour, pour faire une concaténation ce n'est pas la virgule qu'il faut utiliser.

    le 23/12/2017 à 16h11

  • plumyoen.julien

    plumyoen.julien

    Bonjour, je ne comprends pas mon erreur " avez-vous bien écrit lasructure de la boucle while". Merci.

    le 21/02/2018 à 10h48

  • mram

    mram Administrateur

    Bonjour, il existe une syntaxe plus simple pour incrémenter i .

    le 25/02/2018 à 01h08

  • kriss.clotilde

    kriss.clotilde

    est ce que je pourrais avoir un peu plus d'aide? pour savoir comment fiare sans i+2?

    le 26/09/2017 à 10h45

  • mram

    mram Administrateur

    Bonjour, dans tous vos essais vous avez utilisé la bonne façon de faire, avec +=

    le 29/09/2017 à 01h48

  • tomschuurman11-13

    tomschuurman11-13

    boutton "soumettre" encore bugé , je ne peu pas valider cette exercice.

    le 26/04/2018 à 15h40

  • mram

    mram Administrateur

    Bonjour, non l'exercice fonctionne bien. Il y a une erreur ligne 4. Il faut juste afficher "i". Et faire l'incrémentation après sur une ligne à part.

    le 29/04/2018 à 03h45

  • corentin.roger

    corentin.roger

    Bonjour, encore un foi, impossible de soumettre mon code, je clique et rien ne se passe. (je précise que ma connexion est bonne)

    le 05/03/2018 à 09h00

  • mram

    mram Administrateur

    Bonjour, j'ai testé votre code et j'ai pu valider l'exercice de mon côté.

    le 08/03/2018 à 22h42

  • paradise

    paradise

    Bonjour, je ne vois pas mon erreur

    le 10/09/2017 à 22h17

  • mram

    mram Administrateur

    Bonjour, dans le while vous pouvez faire plus simple sans utiliser le if.

    le 12/09/2017 à 17h17

  • kriss.clotilde

    kriss.clotilde

    Bonjour, j'ai testé le code suivant var i = 0; while (i <= 10) { document.write(i); var i = i+2; } , mais cela ne fonctionne pas. Pouvez-vous m'aider à comprendre mon erreur svp ?

    le 21/09/2017 à 08h42

  • mram

    mram Administrateur

    Bonjour, à la ligne 5 il y a moyen de faire plus simple. Et surtout, pas besoin de réutiliser "var" .

    le 22/09/2017 à 19h06

  • molinari.eva

    molinari.eva

    Bonjour, mon code est-il correct s'il vous plaît je n'arrive pas à valider mais ne voit pas d'où cela vient... Merci d'avance !

    le 23/11/2017 à 16h59

  • mram

    mram Administrateur

    Bonjour, oui il est correct, mais vous oubliez d'indenter le code dans le while.

    le 26/11/2017 à 19h48

  • freynaut-92

    freynaut-92

    Finalement j'ai pu valider l'exercice.

    le 29/10/2018 à 18h29

index.html
script.js
<!DOCTYPE HTML> <html> <head> <title>Exercice rappel 3</title> <script src="script.js"></script> </head> <body> </body> </html>