7. Structures de contrôle

• Instruction d’affectation, instruction vide, bloc
• Instruction if – else
• Structures conditionnelles imbriquées
• Instruction switch
• Exemples et tâches avec if- else et switch
• Boucle, éléments de la boucle
• Instruction while . Exemples et tâches avec while
• Instruction do-while. Exemples et tâches avec do-while
• Instruction for. Exemples et tâches avec for
• Boucles imbriquées. Exemples et tâches

 
 

• Instruction for


Destination: Elle réalise une boucle prédéterminée.

Forme générale:

for (expression1 ; expression2 ; expression3 )
instruction1;

for – mot-clé.

expression1 donne la valeur initiale du paramètre de la boucle
for. On peut faire l'initialisation par quelques moyens différents, par exemple:
- par affectation:
i = 0
- par définition et affectation:
int i =1
- par définition et affectation de quelques variables:
int i = 0, S = 0
- par introduction:
cin>>i.

expression2 pose la condition de vérification, par exemple:
i < = 10.

expression3 accomplit l'actualisation du paramètre de la boucle, par exemple:
i = i+1 ou i++.

Les trois expressions sont sépareés par des points – virgules /;/. Elles sont délimitées par des accolades (). L’instruction1 présente le corps de la boucle. Elle peut être remplacée par un bloc.

Exécution:
1. Premièrement on fait l’initialisation du paramètre de la boucle par l’évaluation de l’expresion1.
2. Ensuite expression2 s'évalue . Si la valeur de l'expression2 est égale à 0 , on quitte la boucle. Si la valeur de l'expression2 est différente de 0, le corps /l'instruction1 ou le bloc/ s'exécute.
3. expression3 s'évalue /actualisation/. Après on passe au p.2.

Exemple: Calculer la somme 1 + 2 + ... + 10:



Le corps de la boucle peut être remplacé par une instruction vide:

// Calculer la somme de 1 à 10
for( int i = 1, Sum = 0; i<= 10; Sum+=i, i++)
; // instruction vide

La forme suivante est possible aussi:
for( ; ; ) instruction1;

Les points-virgules sont obligatoires.
Dans ce cas l'initialisation doit être avant for:
int i = 0, Sum = 0;
for( ; i< =5; i++)
Sum +=i;

Si la condition de vérification manque elle est considérée égale à true:

for(int i = 0, Sum = 0; ; i++)
{
Sum += i;
if(i= =5) break;
}

L'actualisation peut être incluse dans le corps de la boucle:
for(int i = 0, Sum = 0; i < = 5 ; )
{
Sum += i;
i = i+1; // actualisation
}

Le type du paramètre est un type scalaire: /
int, float, double, char, bool, énumération/.
Le code suivant affiche les codes ASCII des symboles ‘A’, 'B',...,‘Z’:

for( char letter = 'A'; letter < = 'Z'; letter++)
cout << " code ASCII de " << letter << " : " << (int)letter << endl;