Boucle for

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche
Article principal : structure de contrôle.

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 une corps qui est exécuté à chaque itération.

Boucle avec compteur[modifier | modifier le code]

Dans 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.

Cf-for-fr.svg
POUR compteur DE 0 à fin
   Instruction 1
FIN POUR
Instruction 2

Exemples de mise en œuvre :

  • BASIC : FOR compteur = depart TO fin instruction NEXT compteur
  • Pascal : for compteur := depart to fin do instruction ;

Fortran II a introduit un premier compteur rudimentaire en 1958.

Suivant les langages on peut fixer la valeur de début, de fin et le pas d'incrémentation. Un de ses usages

Langage C et dérivés[modifier | modifier le code]

La 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);
    }

Notes et références[modifier | modifier le code]

Voir aussi[modifier | modifier le code]