Une boucle est un ensemble d'instructions
permettant d'exécuter de façon répétitive un certain nombre d'actions. Le
nombre de tours de boucle est limité par le test d'une condition. Les boucles
peuvent être de 4 sortes, for, do while, while et label. Nous allons voir la
boucle for et reviendrons ultérieurement sur les autres formes de boucles.
Pour pouvoir tester les conditions d'arrêt de la boucle on
à besoin d'incrémenter ou de décrémenter des variables, on peut écrire,
i = i + 1 ou i = i - 1 pour décrémenter, mais il existe une
syntaxe plus condensée,
i++ pour incrémenter i de 1 à chaque fois que cette
instruction est exécutée ou i-- pour décrémenter de 1.
Nous reviendrons ultérieurement sur d'autres instructions
abrégées.
La boucle for se compose de trois
éléments enclos de parenthèses simples ( ), séparés par un point-virgule ;
et d'un corps enclos entre des parenthèses cursives { }. Dans les
exemples suivant les espaces tels que ( i = 0; ne sont pas nécessaires et
utilisés uniquement pour une meilleure clarté de l'écriture.
for ( condition initialle ; condition de fin ;
incrémentation) {
actions à exécuter
}
On utilise une variable comme compteur de boucle, soit une
variable i, le premier élément définit cette variable et l'initialise, (ici
à 0)
for(i = 0;
Le deuxième élément impose les conditions d'arrèt de la
boucle
for(i = 0; i < 3
Dans ce cas la boucle sera exécutée jusqu'à ce que i ne
soit plus inférieur à 3.
Le troisième élément donne les conditions
d'incrémentation du compteur de boucle, (ici i).
for(i = 0; i < 3; i++)
Le compteur i sera incrémenté de 1 à
chaque tour, i prendra donc les valeurs successives, 0, 1, 2, à l'intérieur de
la boucle. Organigramme.
On pourrait décompter à partir d'une certaine valeur,
par exemple,
for(i = 3; i > 0; i--)
i prendra les valeurs successives, 3, 2, 1, à l'intérieur
de la boucle.
Exercice, dans la forme ci dessous, essayez plusieurs valeurs
de fin pour i, (dans i < 3), rester dans des valeurs raisonnables ,
inférieures à 9.
Exercice, dans la forme ci dessous, décompter à partir de i
= 4. Vous devez afficher 4, 3, 2, 1, Corrigé
Quel est la valeur de i à l'extérieur
de la boucle? On serait tenté de penser que c'est la dernière valeur affichée
par la boite alert mais ...
Faire Code initial dans la forme ci-dessus, puis rajouter
avant </script>, une boite alert éditant i, différentiez le message en
mettant par exemple,( i externe =), Corrigé Explication
De la même façon que l'on avait un
raccourci pour l'opération d'incrémentation, i++ pour i = i + 1 nous avons des
raccourcis pour d'autres opérations d'assignements.
La forme générale est , opérande opérateurs= deuxième
opérande.
Addition, x += y est équivalent à x = x + y
ce qui nous permet par exemple d'éditer des chiffres pairs,
for( i = 0; i < 7; i += 2)
Exercice, modifiez la forme ci dessous pour éditer des
chiffres impairs, 1,3,5 (pas 0), Corrigé
Soustraction x -= 3 équivalent à x =
x - 3
Multiplication x *= 3
équivalent à x = x * 3
Division x /= 3 équivalent à x
= x / 3
Bien sur on peut utiliser une autre variable comme second
opérande,
x += y => x = x + y
Exercice, calculer les factorielles de 1 à 10. La
factorielle d'un nombre n est le nombre tel que 1 * 2 * 3....n-1*n
factorielle 3 => 1*2*3
factorielle 6 => 1*2*3*4*5*6
Editer les factorielles sous la forme, Factorielle 3 = 6
Faire l'organigramme, Corrigé
Ecrire le programme dans la forme ci-dessus, Corrigé