19
Les boucles 1

Les boucles 1. Les boucles en C++ 2 Pseudo-codeC++ Tant que … Fairewhile Pourfor Répéter … Jusqu'àdo...while

Embed Size (px)

Citation preview

Page 1: Les boucles 1. Les boucles en C++ 2 Pseudo-codeC++ Tant que … Fairewhile Pourfor Répéter … Jusqu'àdo...while

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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