les boucles 1. les boucles en c++ 2 pseudo-codec++ tant que … fairewhile pourfor répéter …...
TRANSCRIPT
![Page 1: Les boucles 1. Les boucles en C++ 2 Pseudo-codeC++ Tant que … Fairewhile Pourfor Répéter … Jusqu'àdo...while](https://reader035.vdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b85e2/html5/thumbnails/1.jpg)
Les boucles
1
![Page 2: Les boucles 1. Les boucles en C++ 2 Pseudo-codeC++ Tant que … Fairewhile Pourfor Répéter … Jusqu'àdo...while](https://reader035.vdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b85e2/html5/thumbnails/2.jpg)
Les boucles en C++
2
Pseudo-code C++Tant que … Faire while
Pour for
Répéter … Jusqu'à do...while
![Page 3: Les boucles 1. Les boucles en C++ 2 Pseudo-codeC++ Tant que … Fairewhile Pourfor Répéter … Jusqu'àdo...while](https://reader035.vdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b85e2/html5/thumbnails/3.jpg)
Les boucles Tant queTant que expression Faire Instructions
FinTantque
while (expression)Instruction;
while (expression){
Instruction1;Instruction2;
}
3
![Page 4: Les boucles 1. Les boucles en C++ 2 Pseudo-codeC++ Tant que … Fairewhile Pourfor Répéter … Jusqu'àdo...while](https://reader035.vdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b85e2/html5/thumbnails/4.jpg)
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
![Page 5: Les boucles 1. Les boucles en C++ 2 Pseudo-codeC++ Tant que … Fairewhile Pourfor Répéter … Jusqu'àdo...while](https://reader035.vdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b85e2/html5/thumbnails/5.jpg)
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
![Page 6: Les boucles 1. Les boucles en C++ 2 Pseudo-codeC++ Tant que … Fairewhile Pourfor Répéter … Jusqu'àdo...while](https://reader035.vdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b85e2/html5/thumbnails/6.jpg)
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;}
![Page 7: Les boucles 1. Les boucles en C++ 2 Pseudo-codeC++ Tant que … Fairewhile Pourfor Répéter … Jusqu'àdo...while](https://reader035.vdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b85e2/html5/thumbnails/7.jpg)
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;}
![Page 8: Les boucles 1. Les boucles en C++ 2 Pseudo-codeC++ Tant que … Fairewhile Pourfor Répéter … Jusqu'àdo...while](https://reader035.vdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b85e2/html5/thumbnails/8.jpg)
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;}
![Page 9: Les boucles 1. Les boucles en C++ 2 Pseudo-codeC++ Tant que … Fairewhile Pourfor Répéter … Jusqu'àdo...while](https://reader035.vdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b85e2/html5/thumbnails/9.jpg)
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;}
![Page 10: Les boucles 1. Les boucles en C++ 2 Pseudo-codeC++ Tant que … Fairewhile Pourfor Répéter … Jusqu'àdo...while](https://reader035.vdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b85e2/html5/thumbnails/10.jpg)
Les boucles Jusqu’àRépéter<instructions>
Jusqu'à <expression>
doinstruction;
while (expression);
do{instruction1;instruction2;
}while (expression);
10
![Page 11: Les boucles 1. Les boucles en C++ 2 Pseudo-codeC++ Tant que … Fairewhile Pourfor Répéter … Jusqu'àdo...while](https://reader035.vdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b85e2/html5/thumbnails/11.jpg)
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
![Page 12: Les boucles 1. Les boucles en C++ 2 Pseudo-codeC++ Tant que … Fairewhile Pourfor Répéter … Jusqu'àdo...while](https://reader035.vdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b85e2/html5/thumbnails/12.jpg)
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
![Page 13: Les boucles 1. Les boucles en C++ 2 Pseudo-codeC++ Tant que … Fairewhile Pourfor Répéter … Jusqu'àdo...while](https://reader035.vdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b85e2/html5/thumbnails/13.jpg)
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
![Page 14: Les boucles 1. Les boucles en C++ 2 Pseudo-codeC++ Tant que … Fairewhile Pourfor Répéter … Jusqu'àdo...while](https://reader035.vdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b85e2/html5/thumbnails/14.jpg)
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
![Page 15: Les boucles 1. Les boucles en C++ 2 Pseudo-codeC++ Tant que … Fairewhile Pourfor Répéter … Jusqu'àdo...while](https://reader035.vdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b85e2/html5/thumbnails/15.jpg)
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
![Page 16: Les boucles 1. Les boucles en C++ 2 Pseudo-codeC++ Tant que … Fairewhile Pourfor Répéter … Jusqu'àdo...while](https://reader035.vdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b85e2/html5/thumbnails/16.jpg)
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
![Page 17: Les boucles 1. Les boucles en C++ 2 Pseudo-codeC++ Tant que … Fairewhile Pourfor Répéter … Jusqu'àdo...while](https://reader035.vdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b85e2/html5/thumbnails/17.jpg)
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
![Page 18: Les boucles 1. Les boucles en C++ 2 Pseudo-codeC++ Tant que … Fairewhile Pourfor Répéter … Jusqu'àdo...while](https://reader035.vdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b85e2/html5/thumbnails/18.jpg)
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
![Page 19: Les boucles 1. Les boucles en C++ 2 Pseudo-codeC++ Tant que … Fairewhile Pourfor Répéter … Jusqu'àdo...while](https://reader035.vdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b85e2/html5/thumbnails/19.jpg)
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