Les boucles
1
Les boucles en C++
2
Pseudo-code C++Tant que … Faire while
Pour for
Répéter … Jusqu'à do...while
Les boucles Tant queTant que expression Faire Instructions
FinTantque
while (expression)Instruction;
while (expression){
Instruction1;Instruction2;
}
3
Exemple 1 : afficher les n premiers nombres
# include <iostream.h> using namespace std;int main (void){int n, i=0 ;cout << " Saisir n : « << endl;cin >> n;while (i < n){
cout<<i<<endl;i=i+1;
}return 0;
}
4
Les boucles PourPour variable de debut à fin Faire Instructions
FinTantque
For(i=debut; i<fin; i=i+1)Instruction;
For(i=debut; i<fin; i=i+1){
Instruction1;Instruction2;
}
5
Exemple 2 :afficher les n premiers nombres
# include <iostream.h> using namespace std;int main (void){int n, i=0 ;cout << " Saisir n : « << endl;cin >> n;while (i < n){
cout<<i<<endl;i=i+1;
}return 0;
}
6
for (i=0; i<n; i=i+1){
cout<<i<<endl;}
Exemple 2 :afficher les n premiers nombres
# include <iostream.h> using namespace std;int main (void){int n, i=0 ;cout << " Saisir n : « << endl;cin >> n;while (i < n){
cout<<i<<endl;i=i+1;
}return 0;
}
7
for (i=0; i<n; i=i+1){
cout<<i<<endl;}
Exemple 2 :afficher les n premiers nombres
# include <iostream.h> using namespace std;int main (void){int n, i=0 ;cout << " Saisir n : « << endl;cin >> n;while (i < n){
cout<<i<<endl;i=i+1;
}return 0;
}
8
for (i=0; i<n; i=i+1){
cout<<i<<endl;}
Exemple 2 :afficher les n premiers nombres
# include <iostream.h> using namespace std;int main (void){int n, i;cout << " Saisir n : « << endl;cin >> n;while (i < n){
cout<<i<<endl;i=i+1;
}return 0;
}
9
for (i=0; i<n; i=i+1){cout<<i<<endl;}
Les boucles Jusqu’àRépéter<instructions>
Jusqu'à <expression>
doinstruction;
while (expression);
do{instruction1;instruction2;
}while (expression);
10
Les boucles Jusqu’àAvantage par rapport au Tant que :
La boucle est exécutée au moins une foisPeut être intéressant lorsque l’on valide une
saisie :Demander un chiffre, jusqu’à ce qu’il soit
compris entre 0 et 100…
11
BTS IRIS 1ère année Le langage C++ 12
Principe d’itérationUne itération est une boucle dans laquelle
la valeur d’une (ou plusieurs) variable dépend des valeurs au tour précédent
Démarche itérative = cheminement d'un état initial à un état final recherché
Le cheminement vers l'état recherché se fait en passant par des états intermédiaires
Une boucle permet de progresser d'un état à un autre état, en se rapprochant de l'état final. Lorsque l'état final est atteint, la boucle doit s'arrêter
Principe d’itération
13
Etat initial
Etats intermédiair
es
Etat final
On entre dans la boucle
C’est ici qu’on réfléchit aux valeurs de départ
C’est ici qu’on doit avoir le résultat dans une variable
On quitte la boucle car la condition est atteinte
On fait un calcul qui permet de faire avancer l’état du calcul : on doit se rapprocher de l’état final
Exemples :Calcul de la somme des 100 premiers entiers
État final ? Que veut on? Comment on y arrive ?
État initial ? On débute comment?
États intermédiaires ? Que fait on pour se rapprocher de l’état final ?
14
Exemples :Calcul de la somme des 100 premiers entiers :
État final ? On veut avoir une variable qui contient la somme des
100 premiers entiers (somme) On y arrive quand on aura fait 100 additions
(cpt<100)État initial ?
On a fait aucune somme, donc on initialise à 0 somme On a fait aucune addition, donc on initialise à 0 cpt
États intermédiaires ? On ajoute à somme le nombre auquel on est rendu :
somme=somme+cpt On incrémente le compteur (on a fait un tour de plus)
15
Exemples :Demander un nombre à l’utilisateur, tant que
le nombre saisi est différent de 321 :État final ?
Que veut on? Comment on y arrive ?
État initial ? On débute comment?
États intermédiaires ? Que fait on pour se rapprocher de l’état final ?
16
Exemples :Compter les nombres pairs sur 20 entiers saisis :
État final ? On veut avoir une variable qui contient le nombre de
nombres pairs (nbPaire) On y arrive quand on aura fait 20 tests (cpt<20)
État initial ? On a rencontré aucun nombre pair, on initialise nbPaire à
0 On a fait aucune comparaison, donc on initialise à 0 cpt
États intermédiaires ? On teste si le nombre courant est pair, si oui, on
incrémente :if(cpt%2==0)
nbPaire=nbPaire+1 ; 17
Exemples :Demander un nombre à l’utilisateur, tant que
le nombre saisi est différent de 321 :État final ?
Que veut on? Comment on y arrive ?
État initial ? On débute comment?
États intermédiaires ? Que fait on pour se rapprocher de l’état final ?
18
Exemples :Demander un nombre à l’utilisateur, tant que
le nombre saisi est différent de 321 :État final ?
Une variable qui contient le nombre saisi par l’utilisateur
Quand le nombre saisi est égal à 321 (nombre==321)État initial ?
On fait saisir le nombre par l’utilisateur (cin>>nombre).
États intermédiaires ? On redemande le nombre à l’utilisateur…
19
Top Related