Les programmes suivants permettent de saisir plusieurs nombres et d'afficher leur somme.
Dans un premier temps supposons qu'il faut additionner exactement 4 nombres, dans ce cas nous pouvons utiliser un boucle for
pour réaliser cela :
var somme=0;
for(var i=1;i<=4;i=i+1){
somme=somme+parseFloat(prompt("Entrez votre nombre"));
}
print("La somme vaut ");
println(somme);
Maintenant imaginons qu'on ne sache pas à l'avance la quantité de nombres à additionner, nous devons alors utiliser une boucle while
et décider, par exemple, d'indiquer au programme la fin de la saisie en entrant la valeur 0.
var somme=0;
var saisie="";
while(saisie!="0"){
saisie=prompt("Entrez votre nombre ou 0 pour terminer");
somme=somme+parseFloat(saisie);
}
print("La somme vaut ");
println(somme);
L'instruction while
contient un test, le bloc d'instructions de la boucle est exécuté tant que le résultat de ce test est true
.
Pour bien comprendre le fonctionnement de ce dispositif, déroulez le diaporama :
while(saisie!="0"
){
saisie=prompt("Entrez votre nombre ou 0 pour terminer");
somme=somme+parseFloat(saisie);
}
Variable somme
: 0
Variable saisie
: chaîne de caractères vide
Au départ, la variable somme
reçoit la valeur numérique 0 et la variable saisie
reçoit une chaîne de caractères vide.
Lorsque l'instruction while
est rencontrée, le test saisie!="0"
est fait, comme saisie
est une chaîne de caractères vide, le résultat du test est true
et le bloc d'instructions de la boucle va être exécuté.
while(saisie!="0"
){
saisie=prompt("Entrez votre nombre ou 0 pour terminer");
somme=somme+parseFloat(saisie);
}
Variable somme
: 0
Variable saisie
: "15"
La première instruction du bloc provoque l'affichage d'une boite de dialogue pour inviter l'utilisateur à entrer son nombre, imaginons qu'il entre 15 : la variable saisie
reçoit la chaîne de caractères « 15 ».
while(saisie!="0"
){
saisie=prompt("Entrez votre nombre ou 0 pour terminer");
somme=somme+parseFloat(saisie);
}
Variable somme
: 15
Variable saisie
: "15"
La deuxième instruction ajoute la valeur entrée par l'utilisateur au contenu de la variable somme
. Comme la variable somme
contenait initialement 0, elle contient maintenant 15.
Remarquez qu'on utilise parseFloat
pour convertir la chaîne de caractères saisie en nombre.
while(saisie!="0"
){
saisie=prompt("Entrez votre nombre ou 0 pour terminer");
somme=somme+parseFloat(saisie);
}
Variable somme
: 15
Variable saisie
: "15"
Le test saisie!="0"
est fait, comme saisie
contient « 15 », le résultat est true
et les instructions du bloc vont être exécutées
while(saisie!="0"
){
saisie=prompt("Entrez votre nombre ou 0 pour terminer");
somme=somme+parseFloat(saisie);
}
Variable somme
: 127
Variable saisie
: "0"
De nouveau l'utilisateur est invité à entrer un nombre et la valeur est ajoutée à la somme, et ainsi de suite.
Plaçons nous à l'étape où l'utilisateur a terminé ses saisies : il a entré plusieurs nombres dont la somme est 127.
Pour indiquer qu'il a terminé il entre la chaîne de caractères « 0 ».
while(saisie!="0"
){
saisie=prompt("Entrez votre nombre ou 0 pour terminer");
somme=somme+parseFloat(saisie);
}
Variable somme
: 127
Variable saisie
: "0"
La valeur 0 est rajoutée à la somme ce qui ne modifie rien.
while(saisie!="0"
){
saisie=prompt("Entrez votre nombre ou 0 pour terminer");
somme=somme+parseFloat(saisie);
}
Variable somme
: 127
Variable saisie
: "0"
Le test saisie!="0"
est fait, mais cette fois comme saisie
contient la chaîne de caractères « 0 », le résultat est false
et la boucle se termine.
Ecrire un programme qui donne le reste de la division d'un nombre entier par 11 en procédant par soustractions successives.