Boucle for
En informatique, la boucle for est une structure de contrôle de programmation qui permet de répéter l'exécution d'une séquence d'instructions.
Selon les langages de programmation, différents mots-clés sont utilisés pour signaler cette structure de contrôle : for pour les descendants d'Algol, do pour FORTRAN, PL/I, etc.
Une « boucle for » a deux parties : une entête qui spécifie la manière de faire l'itération, et un corps qui est exécuté à chaque itération.
Boucle avec compteur
modifierDans cette forme de boucle, une variable prend des valeurs successives sur un intervalle. Cette forme est souvent utilisée pour exploiter les données d'une collection indexée.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/0/03/Cf-for-fr.svg/152px-Cf-for-fr.svg.png)
POUR compteur DE 0 à fin Instruction 1 FIN POUR Instruction 2
Historique
modifierFortran II a introduit un premier compteur rudimentaire en 1958[réf. souhaitée].
Exemples de mise en œuvre
modifierSuivant les langages on peut fixer la valeur de début, de fin et le pas d'incrémentation.
BASIC
modifierExemple de boucle for en langage BASIC :
FOR compteur = depart TO fin instruction NEXT compteur
Pascal
modifierExemple de boucle for en langage Pascal :
for compteur := depart to fin do instruction ;
Langage C et dérivés
modifierLa boucle for des langages C,C++[1] ou Java est beaucoup plus générale qu'un simple compteur.
for (initialisation ; test ; itération) opération;
L'entête comporte une ou plusieurs initialisations, un test de continuation, une ou plusieurs itérations. Exemples en langage C :
// remplissage d'un tableau
int t[5];
for (int i = 0; i < 5; i++) {
t[i] = i;
}
// miroir d'un tableau
int t[10];
...
for (int p = 0, d = 9; p < d ; p++, d--) {
int temp = t[p];
t[p] = t[d];
t[d] = temp;
}
// mise en majuscule d'une chaine
char chaine[] = "Un deux trois";
for (char *p = chaine; *p != '\0'; p++) {
*p = toupper(*p);
}
Python
modifierLa boucle for en Python s'applique sur une collection. Ex :
for number in range(10):
print(number)
for number in ['one', 'two', 'three']:
print(number)