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, condition et modulo


Sujet :

JavaScript

  1. #1
    Membre actif
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Octobre 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Octobre 2015
    Messages : 52
    Par défaut Boucle, condition et modulo
    Bonjour,

    Quelqu'un peut m'aider pour cet autre problème Javascript ? J'ai la chance d'avoir un collgègue programmeur expérimenté, mais même lui ne trouve pas...

    Le code est bon, mais je crois que c'est l'interface de debugging qui bugge...

    INSTRUCTIONS:

    Nous allons maintenant jouer à FizzBuzz. Les règles sont simples. Nous voulons compter de 1 à 20. Mais si le nombre est divisible par 3, nous allons afficher "Fizz", et si le nombre est divisible par 5, nous allons afficher "Buzz".

    Et si le nombre est divisible par 3 ET par 5 ? Exact ! Nous allons afficher "FizzBuzz" !

    Il y a plusieurs moyens de le faire, mais nous voudrions une condition imbriquée dans cet exercice.
    Instructions

    Affichez les nombres de 1 à 20.
    Les règles :
    Pour les nombres divisibles par 3, affichez "Fizz".
    Pour les nombres divisibles par 5, affichez "Buzz".
    Pour les nombres divisibles par 3 et 5, affichez "FizzBuzz".
    Sinon, affichez simplement le nombre.


    MESSAGE D'ERREUR APRES EXECUTION DE MON CODE:
    Oups, merci de réessayer. Vous avez affiché 3 Fizz au lieu de Fizz"

    MON CODE:

    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
    for(var i = 1; i < 21; i++ ) {
    if (i % 15 == 0) {
    console.log(i + " " + "Fizzbuzz");
    }
    else if (i % 5 === 0 ){
    console.log(i + " " + "Buzz");
    }
    else if (i % 3 === 0 ) {
    console.log(i + " " + "Fizz");
    }
    else {
    console.log(i)
    }
     
    }

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 202
    Par défaut
    Bonjour,
    si on s'en réfère à l'énoncée
    Pour les nombres divisibles par 3, affichez "Fizz".
    ...etc...
    tu ne dois afficher que "Fizz" et non "3 Fizz", "6 Fizz" ...etc...

    Une remarque sur ton code il eut mieux valu écrire if (i % 3 === 0 && i % 5 === 0) {} plutôt que if (i % 15 == 0) {}trop réducteur.

  3. #3
    Membre actif
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Octobre 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Octobre 2015
    Messages : 52
    Par défaut
    C'est un collègue de travail Programmeur avec des années d'expérience qui m'a recommandé de code comme ça plutôt, car un nombre divisible par 15 est aussi divisible par 3 et par 5, donc optimisation du code et simplification du code, ce qui est le but de la bonne programmation,non?*



    Et si je lis bien l'instruction: "Pour les nombres divisibles par 3, affichez "Fizz"."

    Cela signifie qu'il y peut-être plus d'un nombre divisible par 3, donc plusieurs "Fizz" logiquement..Sinon je ne comprends pas bien l'intérêt de mettre une boucle "for" et de l'exercice.

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 202
    Par défaut
    donc optimisation du code et simplification du code, ce qui est le but de la bonne programmation,non?
    qu'en est-il si au lieu de chercher jusqu'à 20 on te demande de faire la même chose jusqu'à 100 !?!

    Dans la même logique pourquoi ne pas faire si i égal 3 ou 6 ou 9 ...etc.. !?!

    Et si je lis bien l'instruction: "Pour les nombres divisibles par 3, affichez "Fizz"."
    Voilà ce que l'on te demande d'afficher
    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
    1
    2
    Fizz
    4
    Buzz
    Fizz
    7
    8
    Fizz
    Buzz
    11
    Fizz
    13
    14
    FizzBuzz
    16
    17
    Fizz
    19
    Buzz
    et rien d'autre.

  5. #5
    Membre actif
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Octobre 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Octobre 2015
    Messages : 52
    Par défaut
    No Smoking

    Et moi je réponds à l'exercice et à rien d'autre.."Et si" , "et si"...Ton raisonnement se vaut, mais le mien aussi je pense.

    Le but est de répondre le plus efficacement possible à l'exercice donné, et uniquement à cet exercice,sinon on s'en sort pas...

    Mais ce n'est que mon avis...Merci quand même...

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 202
    Par défaut
    Le but est de répondre le plus efficacement possible à l'exercice donné, et uniquement à cet exercice,sinon on s'en sort pas...
    mais c'est quand même comme cela que l'on progresse mais c'est comme tu le sens...

    N'hésite pas à mettre cette discussion en résolue !

  7. #7
    Membre actif
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Octobre 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Octobre 2015
    Messages : 52
    Par défaut
    Pas de soucis. Merci quand même "NoSmoking". A+

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

Discussions similaires

  1. [XL-2003] Problème boucle à condition
    Par Aliass01 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/10/2014, 12h58
  2. [Débutant] probleme avec boucle + conditions
    Par membreComplexe12 dans le forum MATLAB
    Réponses: 4
    Dernier message: 22/04/2010, 08h16
  3. [Fortran 77] Boucle à condition
    Par Penthee dans le forum Fortran
    Réponses: 3
    Dernier message: 08/09/2008, 08h47
  4. Optimisation de code imbrication boucle+condition
    Par kouesta dans le forum Langage
    Réponses: 4
    Dernier message: 21/02/2008, 09h08
  5. boucle avec condition d'arret changeante
    Par NicoH dans le forum Langage
    Réponses: 3
    Dernier message: 10/06/2003, 11h48

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