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 :

Exercices javascript


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2019
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Exercices javascript
    Bonjour je dois réaliser une série d'exercices en javascript . 3 d'entre eux me posent des difficultés .

    Pour le 1er - Mini et maxi

    Modifiez le programme de la moyenne pour afficher le minimum et le maximum.
    Exercice 'moyenne' : dans chapitre 07 les boucles_ : Ecrire un programme qui saisit des entiers et en affiche la somme et la moyenne (on arrête la saisie avec la valeur 0).

    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
    var somme=0;
    var saisie="";
    var moyenne=parseFloat(saisie)/somme;
     
     
    while(saisie!="0"){
      saisie=prompt("Entrez votre nombre\n Entrez 0 pour terminer");
      somme=somme+parseFloat(saisie);
    }
     
    console.log("La somme maximal vaut  " + " " + (Math.max(saisie)) );
    console.log("La somme minimal vaut  " + " " + (Math.min(saisie)) );
    Je n'arrive pas ici à récupérer les valeurs max et min , à chaque fois que je termine cette boucle la console indique 
     
    "La somme maximal vaut 0
    "La somme minimal vaut

    Pour le 2eme - Calcul du nombre de jeunes, de moyens et de vieux
    Il s'agit de dénombrer les personnes d'âge strictement inférieur à 20 ans, les personnes d'âge strictement supérieur à 40 ans et celles dont l'âge est compris entre 20 ans et 40 ans (20 ans et 40 ans y compris).
    Le programme doit demander les âges successifs.
    Le comptage est arrêté dès la saisie d'un centenaire. Le centenaire est compté.
    Donnez le programme Javascript correspondant qui affiche les résultats


    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
    var jeunes ;
      var adultes ;
      var vieux ;
     do
     (personnes) = window.prompt("Entrez votre âge");
    while ((personnes < 100));
    if ((personnes < 20)) {
      var jeunes = 0;
      var jeunes = +1;
    } else if ((personnes >=20 && personnes <= 40 ))
      {
        adultes = 0;
        adultes = +1;
    } else if((personnes >= 40 && personnes <=100))
      {
        vieux = 0 ;
        vieux = +1 ;
      }
    window.alert("Il y a" + " " + jeunes + " " + "jeunes\n" + "Il y a" + " " + adultes + " " + "adultes\n" + "Il y a " + " " + vieux +  " " + "vieux\n" + "dont"  + " " + "1" + " " + "centenaire");
    Ici je n'arrive pas à augmenter la valeur de mes variables ( jeunes, adultes , vieux ) . à la fin de la boucle je n'ai qu'une personne agée de prise en compte ( le cntenaire ) .

    Pour le 3eme - recherche d'un prénom
    Un prénom est saisi au clavier. On le recherche dans le tableau tab donné ci-après.
    Si le prénom est trouvé, on l'élimine du tableau en décalant les cases qui le suivent, et en mettant à blanc la dernière case.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var prenom = ["Audrey", "Aurélien", "Flavien", "Jérémy", "Laurent", "Melik", "Nouara", "Salem", "Samuel", "Stéphane"];
    var saisie = window.prompt("Saisissez un prenom");
       if ( saisie === "Audrey" || "Aurélien" || "Flavien" || "Jérémy"|| "Laurent" || "Melik" || "Nouara" || "Salem"|| "Samuel"|| "Stéphane") {
         prenom.splice(prenom);
         prenom.push();
         break;
     
       }
     
    console.log(prenom);
    ici m'a difficulté est que je n'arrive pas a supprimer la personne qu je veux . Je voudrais que Jérémy soit supprimer du tableau quand je rentre Jérémy dans le prompt mais je n'y arrive pas .

    Pourriez vous m'aider à y voir plus clair . je suis perdu et après mainte tentatives , je n'arrive pas à résoudre ces problème .
    -

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    la 1re étape dans ce genre de cas est d'afficher la valeur de toutes les variables (avec "console.log" par exemple) et de chercher à quel moment, la variable ne contient pas ce qu'elle devrait.

  3. #3
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Je suis d'accord avec Mathieu, il faut procéder étape par étape pour comprendre ce que fait chaque ligne et s'assurer que cela est bien ce que l'on veut...

    Oui parce qu'il y a trop de soucis (je parle du premier code pour l'instant)...

    Exemples :

    1- Regarde bien le début :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var somme=0;
    var saisie="";
    var moyenne=parseFloat(saisie)/somme;

    saisie est une chaine vide donc parseFloat(saisie) ne renvoi pas un nombre...
    Et de toute façon même si c'était un nombre tu le divises par somme qui vaut 0 ---> une division par 0 ce n'est pas bon ça...

    2-
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    while(saisie!="0"){
      saisie=prompt("Entrez votre nombre\n Entrez 0 pour terminer");
      somme=somme+parseFloat(saisie);
    }
     
    console.log("La somme maximal vaut  " + " " + (Math.max(saisie)) );
    console.log("La somme minimal vaut  " + " " + (Math.min(saisie)) );

    - La fonction prompt retourne une chaine et non un nombre... La variable saisie contient donc une chaine...

    - A chaque fois qu'on entre un nombre (une chaine en fait) il est stocké dans la même variable à savoir la variable saisie...
    La conséquence c'est qu'à chaque fois tu perds (écrases) le nombre entré précédemment...

    Et du coup quand tu sorts de la boucle en entrant "0" eh bien la variable saisie contient la chaine "0"...

    Puisque la variable saisie contient la chaine "0" cela n'a pas de sens de chercher la valeur min et max...

    Il serait plus logique d'utiliser un tableau pour y stocker tous les nombres entrés...

    - De toute façon les fonctions Math.max et Math.min ne fonctionnent pas comme ça...
    Même si la variable saisie contenait un tableau de tous les nombres entrés cela ne fonctionnerait pas...
    Regarde la doc de ces fonction c'est bien expliqué...

    - La variable somme n'est pas utilisée...

    Bref, tu as déjà quoi faire là...
    Bon courage.

Discussions similaires

  1. Mise en place de la page Exercices JavaScript
    Par Gnuum dans le forum Contribuez
    Réponses: 32
    Dernier message: 03/05/2016, 23h22
  2. Exercice Javascript - bloqué
    Par tech-devil dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/01/2016, 16h27
  3. Javascript, début & exercice
    Par Farr3ll dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/03/2009, 12h46

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