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

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.

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.

Langage C et dérivés


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

Voir aussi

  • Portail de la programmation informatique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.