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 :

Une boucle infinie


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2011
    Messages : 19
    Par défaut Une boucle infinie
    Bonjour, j,ai un programme sous la main, je dois ecrire un programme qui demande le nombre d'heures pr semine et qui calcul le salaire en fonction de celui ci et du taux approuvé. Mais mon programme beug au niveau de la boucle do while je pense et ne s'arrête pas, pouvez-vous m'aider ?

    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
    // Fichier: salaire.js
    // Demande à l'utilisateur d'entrer un nombre d'heures par semaine
    var nbh = prompt("Entrez un nombre d'heures compris entre 20h et 50h par semaine: ");
    var nbhvalid = (20 < nbh || nbh == 20) &&
                   (50 > nbh || nbh == 50);  
    // Validité du nombre d'heures 
    if (nbhvalid == false)
    {                                 
    alert("Nombre non valide.");
    do 
    {
    var nbh = prompt("Entrez un nombre d'heures compris entre 20h et 50h par semaine: ");
    } 
    while (nbhvalid == false);
    }
    else 
    print("Validité du nombre d'heures: " + nbhvalid);
    // Calcul du salaire hebdomadaire
    if ((20 < nbh || nbh == 20) && (30 > nbh || nbh == 30))
    {
    var salaire = (nbh * 10);
    }
    else if ((31 < nbh || nbh == 31) && (40 > nbh || nbh == 40))
    {
    var salaire = (nbh * 11.25);
    }
    else if ((41 < nbh || nbh == 41) && (45 > nbh || nbh == 45))
    {
    var salaire = (nbh * 11.87);
    }
    else
    {
    var salaire = (nbh * 12);
    }
    // Affichage du salaire
    print("Le salaire hebdomadaire est de: " + salaire + "$");

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    C'est du javascript mais pas du java.
    Tu ne faits plus la test de validité du nombre d'heure par rapport aux nouvelles valeurs entrées dans la boucle. Tu dois aussi convertir les valeurs entrées en numériques.

    A+.

  3. #3
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    do 
    {
      var nbh = prompt("Entrez un nombre d'heures compris entre 20h et 50h par semaine: ");
    } 
    while (nbhvalid == false);
    Heu tu la mets à jour quant ta variable nbhvalid parce que là elle reste toujours à false
    donc boucle infinie

    une petite lecture des designs patterns de boucle (Quelque soit le langage) serait la bien venue.

    ce n'est pas par hazard si ces patterns ont 50 ans et sont toujours d'actualité
    à chaque problème de répétition une pattern de boucle
    les connaitre c'est la garantie de ne pas faire ce genre de bêtise.

    A+JYT

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 616
    Par défaut
    Salut

    Excuse moi mais ça me choque ce que tu écris... design pattern de boucle ?

    Ne pourrait on parler de boucle, de sa place dans un algorithme, d'un algorithme de boucle, de la syntaxe d'une boucle, des conditions de sortie d'une boucle ... ?

    plutôt que de balancer un anglicisme obscur qui ne me semble pas très approprié si la volonté est d'aider la personne à comprendre et progresser sur son erreur.

    Et puis design pattern, il me semble que le concept s'utilise dans un contexte autrement plus large

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 183
    Par défaut
    Je suis aussi d'accord, d'après la définition wikipedia, un design pattern est
    est un arrangement caractéristique de modules, reconnu comme bonne pratique en réponse à un problème de conception d'un logiciel. Il décrit une solution standard, utilisable dans la conception de différents logiciels1.
    La boucle ne rentre pas dans cette définition

  6. #6
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Excusez moi
    les designs patterns ne sont pas propre à l'informatique ont en trouve dans tous les domaine de l’ingénierie que ce soit de la mécanique de l'architecture du logiciel ou tout autre domaine.

    pour ma part lorsque je lit "Parallel Loops: The First Multicore Design Pattern"
    ou encore
    "Loop Patterns
    Loops for processing items in a collection
    Searching loops
    Linear Search
    Guarde Linear Search
    Processing all the items in a collection
    Process All Items
    Definite Process All Items
    Iterator Process All Items
    One Loop for Linear Structures
    Extreme Values
    General loop coding
    Loop and a Half
    Polling Loop
    Loop Invariant
    "

    ou encore "Basic Design Patterns" dont le contenu est "Continuous loop, Event-Handling loop, parallel loop ..."

    J'ai une petite tendance à penser que "design pattern" est le mot adéquat. pour moi c'est la description d'une problématique et une bonne pratique pour y répondre.
    Il est vrai que le terme c'est répandu en France essentiellement lors de l'arrivé de Pattern d'architecture logicielle. mais les ingénieurs en informatique n'ont pas attendu cela pour en développer pour bien d'autre aspect du développement.
    Je me souviens de vieux livre du temps de la préhistoire de l'informatique dont le titre devait être quelque chose comme "algorithmic" et dans le quel on pouvait lire ""the best design pattern for a search loop".
    je m'excuse pour ma mémoire défaillante je ne garantirais pas les terme exact plus de 30 ans après l'avoir lu.
    juste pour dire que ce terme est vieux même en informatique.

    je reconnais que mon franglish n'était pas de bon augure. mais je vous invite à ouvrir votre esprit, à ne pas croire tout ce que dit wikipédia.

    pour votre culture la formalisation des designs patterns est historiquement imputé au livre A Pattern Language: Towns, Buildings, Construction by Christopher Alexander dans les années 70.
    Un livre qui traite d'architecture et de construction d'immeuble.
    Citation Envoyé par Christopher Alexander
    Chaque patron décrit un problème qui se manifeste constamment dans notre environnement, et donc décrit le cœur de la solution à ce problème, d’une façon telle que l’on puisse réutiliser cette solution des millions de fois, sans jamais le faire deux fois de la même manière
    A+JYT

Discussions similaires

  1. Réponses: 18
    Dernier message: 26/04/2006, 11h39
  2. Une boucle infinie crontab
    Par tsing dans le forum Administration système
    Réponses: 10
    Dernier message: 10/04/2006, 10h28
  3. Select qui fais une boucle infinie
    Par MaitrePylos dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 28/03/2006, 17h29
  4. Réponses: 10
    Dernier message: 24/12/2005, 15h35
  5. [FTP] comment corriger une boucle infinie ?
    Par sofybj dans le forum Langage
    Réponses: 8
    Dernier message: 08/11/2005, 14h49

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