Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion: Boucle while infinie

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : octobre 2018
    Messages : 9
    Points : 7
    Points
    7

    Par défaut Boucle while infinie

    Bonjour,

    J'ai un petit soucis, je souhaiterais afficher une fois le mot "up" tant que test est égale = 200 sinon afficher le mot "down".

    J'ai une boucle infini à cause de mon while qui m'affiche "up" à l'infini ..

    Merci d'avance pour votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var test=0;
    for(var i=0; i<=5;; i++){
        test = 200;
        console.log(test);
        while(test===200){
            console.log("up");
         }
        console.log("down");
    }

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    janvier 2011
    Messages
    13 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2011
    Messages : 13 068
    Points : 31 408
    Points
    31 408

    Par défaut

    Bonjour,
    pose toi la question quand est-ce que j'incrémente ma variable test ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : octobre 2018
    Messages : 9
    Points : 7
    Points
    7

    Par défaut

    Je suis censé l'incrémenter dans ma boucle while ?

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    janvier 2011
    Messages
    13 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2011
    Messages : 13 068
    Points : 31 408
    Points
    31 408

    Par défaut

    Au vu de la question le mieux reste de lire au moins : L'instruction while

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : octobre 2018
    Messages : 9
    Points : 7
    Points
    7

    Par défaut

    Oui merci

    Super j'ai bien le up qui s'affiche.
    Mais me retourne également le "down" quand test est égale à 200 ...

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    janvier 2011
    Messages
    13 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2011
    Messages : 13 068
    Points : 31 408
    Points
    31 408

    Par défaut

    Mais me retourne également le "down" quand test est égale à 200 ...
    j'ai du mal à comprendre ton questionnement !

  7. #7
    Membre émérite
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    juin 2006
    Messages
    1 615
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : juin 2006
    Messages : 1 615
    Points : 2 493
    Points
    2 493

    Par défaut

    il faut que tu apprennes les bases de l'Algorithmie

    tu as un point-virgule en trop dans la definition de ton for()

    et en lisant ton code je pense que le JS detecte ta boucle infinie, et finie par en sortir de lui-meme, c'est pour ca qu'il t'affiche down
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

  8. #8
    Expert confirmé Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    juin 2010
    Messages
    2 632
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : juin 2010
    Messages : 2 632
    Points : 5 509
    Points
    5 509

    Par défaut

    Un truc utile pour savoir si l’algo est bon, c’est de prendre un papier et un crayon et de faire un graphe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
                          x
                          |
                  +---------------+
                  | var test = 0; |
                  +---------------+
                          |
                          v
                    (début for)
                   +------------+
                   | var i = 0; |
                   +------------+
                          |
    +-------------------->|
    |                     v
    |                 (test for)
    |                  /------\  non
    |                 < i <= 5 >--------------------+
    |                  \------/                     |
    |                     | oui                     |
    |                     v                         |
    |           +--------------------+              |
    |           | test = 200;        |              |
    |           | console.log(test); |              |
    |           +--------------------+              |
    |                     |                         |
    |      +------------->|                         |
    |      |              v                         |
    |      |        (test while)                    |
    |      |        /------------\  non             |
    |      |       < test === 200 >----------+      |
    |      |        \------------/           |      |
    |      |              | oui              |      |
    |      |              v                  |      |
    |      |    +--------------------+       |      |
    |      |    | console.log("up"); |       |      |
    |      |    +--------------------+       |      |
    |      |              |                  |      |
    |      +--------------+                  |      |
    |                                        |      |
    |                                        |      |
    |                     +------------------+      |
    |                     | (fin while)             |
    |                     v                         |
    |          +----------------------+             |
    |          | console.log("down"); |             |
    |          +----------------------+             |
    |                     |                         |
    |                     v                         |
    |               (incrément for)                 |
    |                  +------+                     |
    |                  | i++; |                     |
    |                  +------+                     |
    |                     |                         |
    +---------------------+                         |
                                                    |
                                                    |
                          +-------------------------+
                          | (fin for)
                          x
    On appelle ça une flowchart et ça permet de se rendre compte si les choses se passent comme on pensait.
    La FAQ JavaScript – Les cours JavaScript
    Un article du MDN n’a pas de version française ? Je peux peut-être le traduire, envoyez-moi un MP

    La touche F12 : l’outil indispensable à tout développeur JavaScript !

  9. #9
    Membre expert Avatar de psychadelic
    Profil pro
    Inscrit en
    mai 2010
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2010
    Messages : 2 013
    Points : 3 957
    Points
    3 957

    Par défaut

    Dès le départ ta formulation est bancale:
    je souhaiterais afficher une fois le mot "up" tant que test est égale = 200 sinon afficher le mot "down".
    =>
    je souhaiterais afficher [une fois (?)] le mot "up" tant que la variable test vaut = 200 sinon afficher le mot "down".
    cette formulation est incomplète, car on ignore quels sont le ou ou les critères susceptibles de faire changer la valeur de la variable test; à supposer quelle vaille bien 200 en entrée de boucle.

    Quand à la formulation "une fois... tant que.." cela n'a pas de sens.
    «La pluralité des voix n'est pas une preuve, pour les vérités malaisées à découvrir, tant il est bien plus vraisemblable qu'un homme seul les ait rencontrées que tout un peuple.» [ René Descartes ] - Discours de la méthode

Discussions similaires

  1. Boucle while infini avec SESSION
    Par ZeeKinio dans le forum Langage
    Réponses: 8
    Dernier message: 29/01/2018, 23h28
  2. Boucle while infinie
    Par BlackoOSX dans le forum Arduino
    Réponses: 5
    Dernier message: 20/06/2016, 22h24
  3. boucle while infini!
    Par guizaniseifislam dans le forum Langage
    Réponses: 2
    Dernier message: 02/03/2012, 02h30
  4. Boucle à l'infini avec While et un Reader
    Par mrocks dans le forum Windows Forms
    Réponses: 5
    Dernier message: 16/06/2009, 17h13
  5. Boucle while infinie
    Par god_enel dans le forum C
    Réponses: 1
    Dernier message: 16/04/2007, 12h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo