Boucle for

Le programme ci-dessous affiche tous les nombres de 1 à 20 :

println(1);
println(2);
println(3);
println(4);
println(5);
println(6);
println(7);
println(8);
println(9);
println(10);
println(11);
println(12);
println(13);
println(14);
println(15);
println(16);
println(17);
println(18);
println(19);
println(20);

Exécuter

Nous voyons que nous avons écrit 20 fois la même instruction println en énumérant les nombres de 1 à 20. Nous avons ainsi réalisé à la main une tâche répétitive qui peut très bien être automatisée en utilisant une structure de boucle :

for(var i=1;i<=20;i=i+1){
  println(i);
}

Exécuter

Comment cela fonctionne-t-il ?

Nous avons utilisé une boucle for, l'instruction comporte deux parties :

Observez bien le fonctionnement de la structure de programmation for en déroulant le diaporama :

 1/12 

for( var i=1 ; i<=20 ; i=i+1 ){

    println(i);

}

Variable i : 1

Lorsque le programme rencontre la commande for, l'instruction var i=1 est exécutée : la variable i est créée et reçoit le nombre 1.

 2/12 

for( var i=1 ; i<=20 ; i=i+1 ){

    println(i);

}

Variable i : 1

Le test i<=20 est fait, comme i vaut 1, le résultat est true et les instructions qui figurent dans le bloc vont être exécutées.

 3/12 

for( var i=1 ; i<=20 ; i=i+1 ){

    println(i);

}

Variable i : 1

L'unique instruction présente dans le bloc affiche la valeur de i soit 1.

 4/12 

for( var i=1 ; i<=20 ; i=i+1 ){

    println(i);

}

Variable i : 2

L'instruction i=i+1 est exécutée, ce qui rajoute un unité à la valeur de i.

 5/12 

for( var i=1 ; i<=20 ; i=i+1 ){

    println(i);

}

Variable i : 2

Le test i<=20 est fait, comme i vaut 2, le résultat est true et les instructions qui figurent dans le bloc seront exécutées de nouveau.

 6/12 

for( var i=1 ; i<=20 ; i=i+1 ){

    println(i);

}

Variable i : 2

L'instruction du bloc affiche la valeur de i qui est cette fois 2.

 7/12 

for( var i=1 ; i<=20 ; i=i+1 ){

    println(i);

}

Variable i : 3

L'instruction i=i+1 est exécutée, ce qui rajoute un unité à i qui vaut maintenant 3.

 8/12 

for( var i=1 ; i<=20 ; i=i+1 ){

    println(i);

}

Variable i : 20

... et ainsi de suite, pour voir comme cela se termine, nous nous plaçons directement à l'étape où l'instruction i=i+1 vient d'être exécutée en donnant la valeur 20 à i.

 9/12 

for( var i=1 ; i<=20 ; i=i+1 ){

    println(i);

}

Variable i : 20

Le test i<=20 est fait, comme i vaut 20, le résultat est true, les instructions du bloc vont être exécutées.

 10/12 

for( var i=1 ; i<=20 ; i=i+1 ){

    println(i);

}

Variable i : 20

L'instruction du bloc affiche 20.

 11/12 

for( var i=1 ; i<=20 ; i=i+1 ){

    println(i);

}

Variable i : 21

Cette fois la valeur de i devient 21.

 12/12 

for( var i=1 ; i<=20 ; i=i+1 ){

    println(i);

}

Variable i : 21

Le test i<=20 est fait, comme i vaut 21, le résultat est false, les instructions du bloc ne seront pas exécutées et la boucle se termine.

Exercices

1. Ecrire un programme qui affiche tous les nombres pairs, de 0 à 20.

2. a. Ecrire un programme qui affiche la table de multiplications par 5, de 5 x 1 à 5 x 10.

b. Améliorer le programme précédent en donnant la possibilité à l'utilisateur de choisir la table qu'il veut afficher.

JS Bin