IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

JavaScript Discussion :

Boucle while infinie


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 41
    Points : 28
    Points
    28
    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
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    pose toi la question quand est-ce que j'incrémente ma variable test ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 41
    Points : 28
    Points
    28
    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
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Au vu de la question le mieux reste de lire au moins : L'instruction while

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 41
    Points : 28
    Points
    28
    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
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Mais me retourne également le "down" quand test est égale à 200 ...
    j'ai du mal à comprendre ton questionnement !

  7. #7
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    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.

    Venez discuter sur le Chat de Développez !

  8. #8
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    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
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  9. #9
    Expert confirmé Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 529
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 529
    Points : 4 740
    Points
    4 740
    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

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 41
    Points : 28
    Points
    28
    Par défaut
    Je vous remercie de vos réponses et merci pour les Cours JavaScript

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

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

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