gratifiant > comp.lang.* > comp.lang.javascript

JeromePetit (08/10/2019, 13h53)
Bonjour je bûche actuellement sur 3 exercices en javascript .

voila pour le 1er exercice :
Modifiez le programme de la moyenne pour afficher le minimum et le maximum.
Exercice 'moyenne' : dans chapitre 07 les boucles_ : Ecrire un programme qu
saisit des entiers et en affiche la somme et la moyenne (on arrête la saisi
avec la valeur 0).
*/
voila pour le 1er exercice :
varsaisie="";
varsomme=0;
while(saisie!="0"){

saisie=prompt("Entrez votre nombren 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)) );
ensuite pour le 2eme :
Exercice 4 - 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, le
personnes d'âge strictement supérieur à 40 ans et celles dont l'âge est compri
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
*/
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 + " " + "jeunesn" + "Il y a" + " "
adultes + " " + "adultesn" + "Il y a " + " " + vieux + " " + "vieuxn" + "dont"
+ " " + "1" + " " + "centenaire");
et le 3eme

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 l
suivent, et en mettant à blanc la dernière case.
*/

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);
voila je suis en difficulté avec ces 3 exercices . Je ne sais plus vraiment c
qui pose problème dans mon code
Pourriez vous m'aider à y voir plus clair ?
-
Jo Engo (08/10/2019, 16h37)
Le Tue, 08 Oct 2019 06:53:05 -0500, JeromePetit a écrit :

> while(saisie!="0"){
> saisie=prompt("Entrez votre nombren 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)) );


saisie n'est ni une liste ni un ensemble min(3)=3 max(3) = 3
Jo Engo (08/10/2019, 16h40)
Le Tue, 08 Oct 2019 06:53:05 -0500, JeromePetit a écrit :

> var jeunes = 0; var jeunes = +1;


Tu écrase jeune à chaque itération (pour les autres à mon avis même
remarque)
Pierre Maurette (10/10/2019, 08h35)
JeromePetit :
[..]
> }
> console.log("La somme maximal vaut " + " " + (Math.max(saisie)) );
> console.log("La somme minimal vaut " + " " + (Math.min(saisie)) );


La boucle while(){} est mal construite, le test a lieu avant
l'affectation de saisie. Pour ce cas a été conçue la boucle
do{}while(), mais vous pouvez préférer une boucle infinie breakée.
Il vous faut gérer un tableau de valeurs, pour pouvoir ensuite en
extraire somme, maxi et mini. Ou alors gérér ces valeurs dans la
boucle, comme vous le faites pour somme.

Non testé:

let somme = maxi = mini = 0;
while(1) {
let saisie = prompt("Entrez votre nombre Entrez 0 pour terminer");
if ( saisie === '0' ) break;
let valsaisie = parseFloat(saisie);
somme += valsaisie;
mini = valsaisie < mini ? valsaisie : mini;
maxi = valsaisie > maxi ? valsaisie : maxi;
}
console.log("La somme vaut " + somme );
console.log("La somme minimal vaut " + mini );
console.log("La somme maximal vaut " + maxi );
Pierre Maurette (10/10/2019, 09h08)
JeromePetit :

[...]

[..]
> window.alert("Il y a" + " " + jeunes + " " + "jeunesn" + "Il y a" + " " +
> adultes + " " + "adultesn" + "Il y a " + " " + vieux + " " + "vieuxn" +
> "dont" + " " + "1" + " " + "centenaire");


Voir mon message précédent. Là je vous ai mis un do{}while(), mais le
while(1)...break fonctionne également:

let jeunes = adultes = vieux = 0;
do {
let age = parseInt(prompt("Entrez votre âge (si > 99 termine): ",
"0"), 10);
let condjeune = age < 20;
let condvieux = age > 40;
let condadult = !condjeune && !condvieux;
let condcentenaire = age > 99;
jeunes += (condjeune ? 1 : 0);
adultes += (condadult ? 1 : 0);
vieux += (condvieux ? 1 : 0);
} while (!condcentenaire)

window.alert("Il y a " + jeunes + " jeunes, " + adultes + " adultes, "
+ vieux + " vieux (dont un centenaire)");
Pierre Maurette (10/10/2019, 09h28)
JeromePetit :

[...]

[..]
> break;
> }
> console.log(prenom);


Juste une proposition de code:

let prenoms = ["Audrey", "Aurélien", "Flavien", "Jérémy", "Laurent",
"Melik", "Nouara", "Salem", "Samuel", "Stéphane"];
console.log("prenoms: " + prenoms.join());
let saisie = window.prompt("Saisissez un prenom");
let idx = prenoms.indexOf(saisie);
if (idx > -1) prenoms.splice(idx, 1);
console.log("prenoms: " + prenoms.join());
Discussions similaires