Les boucles while
La boucle while
permet de répéter une liste d’instructions tant que la condition est vérifiée.
Tant que celle-ci est vraie (true
), la boucle se répète. Dès que la condition est fausse (false
), la boucle s’arrête. Il faut s’arranger, à un moment, pour que la condition ne soit plus vraie.
Voici un exemple de la syntaxe d’une boucle while
:
while (condition) {
instruction_1;
instruction_2;
instruction_3;
}
Ex:
var number = 1;
while (number < 10) {
number++;
}
alert(number); // Affiche : « 10 »
Exemple:
Nous allons utiliser une boucle while
, qui va demander, à chaque passage dans la boucle, un prénom supplémentaire. La boucle ne s’arrêtera que lorsque l’utilisateur choisira de ne plus entrer de prénom.
var nicks = ‘ ‘,
nick,
proceed = true;
while (proceed) {
nick = prompt(‘Entrez un prénom :’);
if (nick) {
nicks += nick + ‘ ‘; // Ajoute le nouveau prénom ainsi qu’une espace juste après
} else {
proceed = false; // Aucun prénom n’a été entré, donc on fait en sorte d’invalider la condition
}
}
alert(nicks); // Affiche les prénoms à la suite
La boucle do while
Ressemble très fortement à la boucle while
, sauf que dans ce cas la boucle est toujours exécutée au moins une fois. Dans le cas d’une boucle while
, si la condition n’est pas valide, la boucle n’est pas exécutée. Avec do while
, la boucle est exécutée une première fois, puis la condition est testée pour savoir si la boucle doit continuer.
Voici la syntaxe d’une boucle do while
:
do {
instruction_1;
instruction_2;
instruction_3;
} while (condition);
La boucle for
La boucle for
est une boucle utilisée pour répéter une liste d’instructions un certain nombre de fois.
Le schéma d’une boucle for
est le suivant :
for (initialisation; condition; incrémentation) {
instruction_1;
instruction_2;
instruction_3;
}
Dans l’exemple suivant, on va afficher cinq fois une boîte de dialogue à l’aide de alert()
, qui affichera le numéro de chaque itération :
for (var iter = 0; iter < 5; iter++) {
alert(‘Itération n°’ + iter);
}
Dans le premier bloc, l’initialisation, on initialise une variable appelée iter
qui vaut 0 ; le mot-clé var
est requis, comme pour toute initialisation. On définit dans la condition que la boucle continue tant qu’ iter
est strictement inférieure à 5. Enfin, dans le bloc d’incrémentation, on indique qu’ iter
sera incrémentée à chaque itération terminée.
Reprenons notre exemple
for (var nicks = », nick; true;) {
nick = prompt(‘Entrez un prénom :’);
if (nick) {
nicks += nick + ‘ ‘;
} else {
break;
}
}
alert(nicks);
Modifions la boucle de manière à compter combien de prénoms ont été enregistrés. Pour ce faire, nous allons créer une variable de boucle, nommée i
, qui sera incrémentée à chaque passage de boucle.
Ecrivez un programme qui affiche tous les nombres entre 1 et 100 avec les exceptions suivantes :
- Il affiche « Fizz » à la place du nombre si celui-ci est divisible par 3.
- Il affiche « Buzz » à la place du nombre si celui-ci est divisible par 5 et non par 3.
- Il affiche « FizzBuzz » à la place du nombre si celui-ci est divisible à la fois par 3 et par 5.
Exercices:
En rajoutant une moyenne et optimisation du code:
Commentaires récents