Exercice 3/6

Dans cet exercice, l'objectif est de faire en sorte que la condition ne soit plus vérifiée à un moment donné afin de sortir de la boucle.

Dans le fichier "script.js" :

  • déclarez les variables text, result et check;
  • text doit être une chaîne vide;
  • créez une boucle while qui doit s'exécuter tant que check est vérifiée;
  • la boucle doit demander à l'utilisateur de rentrer du texte (prompt()) et de le stocker dans result;
  • la boucle doit ensuite vérifier si result contient bien du texte (donc si elle est vérifiée);
  • si oui, il faut concaténer result à text;
  • sinon on change la valeur de check à false, ainsi on sortira de la boucle;
  • attribuez à check un booléen avec la valeur true (avant la boucle).
  • cliquez sur "Soumettre ma réponse".

Leçon 3/6

Dans l'exercice précédent vous avez utilisé la boucle while de la même manière qu'une boucle for, c'est-à-dire avec un itérateur.

MAIS il est tout à fait possible de sortir d'une boucle while sans utiliser d'itérateur. Il suffit de s'arranger pour que la condition en entrée de boucle ne soit plus vérifiée (false). Ce n'est pas le cas de la boucle for qui utilise forcément un itérateur.

Pour sortir de la boucle, il suffit de cliquer sur annuler au moment où le prompt() demande de rentrer du texte.

Commentaires les mieux notés

845 Commentaires

  • mitrachealessandra-11

    mitrachealessandra-11

    Bonjour ! Je ne comprends pas le signe (+=), à quoi cela correspond ? Merci d'avance

    le 08/03/2023 à 16h15

  • Patricio M

    Patricio M Admin

    a = a + b OU sinon dans la notation raccourcie a+=b

    le 09/03/2023 à 08h26

  • ericdav44-12

    ericdav44-12

    Bonsoir, je ne trouve pas mon erreur: Vous devez avoir 2 instructions dans le corps de votre boucle. Moncode est: var text = ""; var result; var check = true; while (check) { result=prompt("entrer le texte"); if(result) { text+=result; } else; { check=false; } }

    le 05/03/2023 à 23h45

  • Patricio M

    Patricio M Admin

    ; en trop...

    le 06/03/2023 à 07h45

  • fiarda33-67

    fiarda33-67

    bonjour je ne comprends pas ou est mon erreur

    le 17/11/2022 à 11h50

  • Patricio M

    Patricio M Admin

    ton code est correct

    le 17/11/2022 à 14h26

  • emilie

    emilie

    Bonjour, pouvez vous m'aider "Vous devez avoir 2 instructions dans le corps de votre boucle." var text=""; var result; var check=true; while (check) { result=prompt('Entrer votre texte'); alert(result); if(result) {text+=result;} else {check=false;} }

    le 17/11/2022 à 09h54

  • Patricio M

    Patricio M Admin

    Ton code est correct, le bot ne valide pas, car tu as ecris ALERT et il ne demande pas cela...

    le 17/11/2022 à 14h29

  • lfgvaal-48

    lfgvaal-48

    Bonjour, je n'arrive pas à comprendre mon erreur, pouvez-vous m'aider s'il vous plait ? var text = ""; var result; var check = true; while(check) {; result = prompt("Entrez votre texte"); if(result) {; (text += result) } else {; check = false; } document.write(text); }

    le 17/11/2022 à 09h21

  • Patricio M

    Patricio M Admin

    ton code est correct. Indentes bien tes lignes, cela sera plus facle à te répérer

    le 17/11/2022 à 14h29

  • mariejeannefalquerho-91

    mariejeannefalquerho-91

    Bonjour, pouvez vous m'aider à copmpendre mon erreur svp ?

    le 10/11/2022 à 16h41

  • Patricio M

    Patricio M Admin

    Marie, ton dernier code est bon! Indente bien tes lignes avec les { correctement placées

    le 15/11/2022 à 08h13

  • hgadessaud-13

    hgadessaud-13

    Bonjour Je suis bloquée voici mon codevar text=''; var result; var check=true; while (check) { result=prompt('Entrer votre texte'); alert(result); if (result) { (text+=result); } else { (check=false); } }

    le 10/11/2022 à 09h04

  • Patricio M

    Patricio M Admin

    Enlèves les () de text+ = result et check=false, le reste est correct

    le 15/11/2022 à 08h14

  • hcaliop110-90

    hcaliop110-90

    var text = ""; var result; var check = true; while (check) { result = prompt("Texte"); alert(result); if(result) text += result; else check = false; } "Vous devez avoir 2 instructions dans le corps de votre boucle."

    le 31/10/2022 à 16h39

  • Patricio M

    Patricio M Admin

    Dernier code est correct :) Très bien

    le 02/11/2022 à 10h10

  • jules.l06-10

    jules.l06-10

    Bonjour, je ne comprends pas pourquoi le code génère une boucle infinie

    le 26/09/2022 à 19h07

  • Patricio M

    Patricio M Admin

    if (result) TOUT seul, ce n'est pas la peine décrire TRUE car c'est déjà vrai...

    le 27/09/2022 à 10h09

  • maddiismael-66

    maddiismael-66

    J'ai le message bravo mais je voulais avoir confirmation que c'est correct :

    le 16/09/2022 à 15h22

  • Patricio M

    Patricio M Admin

    Si tu as le message du bot, cela veut dire que c'est bon :)

    le 19/09/2022 à 09h28

  • ben.97190.ml-59

    ben.97190.ml-59

    bonjour , j'ai corriger mon erreur mais j'ai toujours ce message qui s'affche :Votre script a mis trop de temps à s'exécuter, auriez-vous une boucle infinie ?

    le 25/08/2022 à 15h05

  • Patricio M

    Patricio M Admin

    Ben, le dernier code est correct, très bien! Tu as trouvé la solution.

    le 26/08/2022 à 07h13

  • ben.97190.ml-59

    ben.97190.ml-59

    Bonjour , je ne comprends pas mon erreur pouvez vous m'aidez svp

    le 24/08/2022 à 14h36

  • Patricio M

    Patricio M Admin

    Ben, la logique est bonne, la synthaxe non. Après une condition IF, une boucle WHILE tu dois ouvrir une { au lieu d''ecrire un ;

    le 25/08/2022 à 07h19

  • Bouss-14

    Bouss-14

    Bonjour je ne comprend pas mon erreur merci.

    le 20/07/2022 à 09h58

  • meriam

    meriam Admin

    Bonjour, il faut pas ajouter un ';' aprés la condition de la structure if

    le 20/07/2022 à 14h26

  • wasimdorboz-59

    wasimdorboz-59

    remplace &#123 avec { ou bien pour arret le repetition de prompt ajoute break;

    le 05/07/2022 à 15h33

  • meriam

    meriam Admin

    Bonjour, il faut remplacer le code suivant { une accolade ouvrante {

    le 05/07/2022 à 21h49

  • wasimdorboz-59

    wasimdorboz-59

    bonsoir je suis full stack et ce le correct code var text=""; var result; var check = true; while(check){ result=prompt("Entrez du text"); if (result.length>0){ (text+=result)} else{ check=false} } document.write(text);

    le 05/07/2022 à 15h31

  • meriam

    meriam Admin

    Bonjour, pour la condition de la structure if, il faut vérifier que result est égale à true ==> il(result){}

    le 06/07/2022 à 14h48

index.html
script.js
<!DOCTYPE HTML> <html> <head> <title>La boucle while</title> <script src="script.js"></script> </head> <body> </body> </html>