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
[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.
POUR compteur DE 0 à fin Instruction 1 FIN POUR Instruction 2
Historique
[modifier | modifier le code]Fortran II a introduit un premier compteur rudimentaire en 1958[réf. souhaitée].
Exemples de mise en œuvre
[modifier | modifier le code]Suivant les langages on peut fixer la valeur de début, de fin et le pas d'incrémentation.
BASIC
[modifier | modifier le code]Exemple de boucle for en langage BASIC :
FOR compteur = depart TO fin instruction NEXT compteur
Pascal
[modifier | modifier le code]Exemple de boucle for en langage Pascal :
for compteur := depart to fin do instruction ;
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);
}
Python
[modifier | modifier le code]La 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)