Académique Documents
Professionnel Documents
Culture Documents
XC di XC di
F- t F- t
PD
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
Nom :
Prénom :
TP 05 :
Structure alternative et répétitif Groupe :
Date du TP :
Durée du TP : 03 heures.
Organisation : Afin de bien acquérir les savoirs liés au TP, il est conseillé de multiplier les
essais et manipulations avec le logiciel.
But de TP :
Le but de ce TP est de :
1) Utilisation des structures de contrôle if, if… else.
2) Utilisation de la syntaxe élémentaire des structures répétitifs du C++
3) Maitrise de l’utilisation technique des boucles
4) Compréhension de fonctionnement des boucles
Rappel de cours :
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
1) Le traitement répétitif : Le traitement est répétitif si son exécution se répète plusieurs fois,
le nombre de répétitions peut être connue ou pas, on parle de boucles ou itérations
1-1) Le for "classique"
Le for est une structure de contrôle qui permet de répéter un certain nombre de fois une
partie d'un programme.
Syntaxe
for(instruction_init ; condition ; instruction_suivant)
instruction_repetée
instruction_init
Une instruction (ou une série d'instruction séparées par une virgule) d'initialisation de la boucle
(initialiser un compteur à 0, pointer le premier élément d'une liste, ...).
condition
Expression booléenne de la condition de répétition de la boucle.
instruction_suivant
Une instruction (ou une série d'instruction séparées par une virgule) pour passer à l'itération
suivante (incrémenter un index, passer à l'élément suivant, ...)
instruction répétée
Une instruction ou un bloc d'instruction répété à chaque itération de la boucle.
Sémantique
1. On exécute l'instruction init.
2. On teste la condition:
o Tant qu'elle est vraie, on exécute l'instruction répétée, puis l'instruction suivante puis
on revient au 2.
o Si elle est fausse, la boucle est terminée et on passe à l'instruction suivante.
3. L'instruction_ répétée peut-être une suite d'instructions entre accolades.
1-2) Le while
Syntaxe
while (condition) instruction;
Sémantique
On teste la condition :
• si elle est vraie, on exécute l'instruction et on recommence.
• si elle est fausse, la boucle est terminée, on passe à l'instruction suivante.
L'instruction peut être une suite d'instructions entre accolades.
Le break
L'instruction break sert à "casser" ou interrompre une boucle (for, while et do), ou un switch.
Syntaxe
break;
Sémantique
• Sort de la boucle ou de l'instruction switch la plus imbriquée.
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
Exercice N1 :
1) Situer et souligner et corriger les erreurs dans le programme suivant :
# include <iostream>
main
cout<< donner les valeurs a b et c
Cin>> a>>b>>c
If (c>b)
{
D=b ;
b=c,
c=b
}
If (b>a)
{
D=a ;
A=b,
B=d
}
que représente la valeur de a, quel est le but de ce programme
Programme juste
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
Exercice N2 :
Ecrire un programme qui permet de résoudre l’équation du deuxième degré
Programme exercice N2
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
Exercice N3 :
1) Ecrire un programme qui permet de calculer la puissance d’un chiffre reel (xn) ;
2) En utilisant le même programme écrivez un programme qui permet de calculer :
𝑛
∑ 𝑙 𝑖 = 𝑙 + 𝑙 2 + 𝑙 3 + ⋯ … … … … … . . +𝑙 𝑛
𝑖=1
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
Exercice N4 :
1) Écrire un programme de calculer le factoriel d’un nombre entier i!
2) En utilisant le même programme écrivez un programme qui permet de calculer :
𝑚𝑎𝑥
∑ 𝑖! = 1! + 2! + 3! + ⋯ … … … … … . . +𝑚𝑎𝑥!
𝑖=1
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
Solution du TP 2
1) Solution de l’exercice N1 :
Remarques générales
# include <iostream>
using namespace std;
int a,b,c,D;
main ()
{
cout<< "donner les valeurs a b et c";
cin>> a>>b>>c;
if (c>b)
{
D=b ;
b=c;
c=b;
}
if (b>a)
{
D=a ;
a=b;
b=D;}}
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
1) Solution de l’exercice N 2 :
#include <iostream>
#include <math.h>
using namespace std;
float a,b,c,delta,x1,x,x2;
main()
{
cout<<"donner a b et c";
cin>>a>>b>>c;
if(a==0)
{
if (b==0)
{
if(c==0)
cout<<"une infinité de solution";
else
cout<<"pas de solution";
}
else
{x=-c/b;
cout <<"la solution est"<<x;
}}
else
{delta=b*b-4*a*c;
if(delta>=0)
{x1=(-b-sqrt(delta))/(2*a);
x2=(-b+sqrt(delta))/(2*a);
cout<<"il existe deux solutions x1 = "<<x1<<" et x2 "<<x2;
}
else
{
cout<<"pas de solution réelle";
}
}
}
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
#include <iostream>
#include <math.h>
using namespace std;
float a,i,n,p,r;
main()
{
cout<<"donner a et n";
cin>>a>>n;
p=1;
if (n<0) r=-n;
else r=n;
for(i=1;i<=r;i++)
{
p=p*a;
}
if(n<0) cout<<a<<"puiss"<<n<<"="<<1/p;
else cout<<a<<"puiss"<<n<<"="<<p;
}
#include <iostream>
#include <math.h>
using namespace std;
float a,i,n,p,r,s,k;
main()
{
cout<<"donner a et n";
cin>>a>>n;
while (n<0)
{
cout<<"donner n";
cin>>n;
if(n<0) continue;
}
p=1;s=0;
for(i=1;i<=n;i++)
{
p=p*a;
s=s+p;
}
PD
or
or
!
!
W
W
O
O
N
N
Y
Y
U
U
B
B
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
.
.
ac ac
k e r- s o ft w a k e r- s o ft w a
#include <iostream>
#include <math.h>
using namespace std;
int i,n,p,s;
main()
{
cout<<"donner n entier positive ";
cin>>n;
while(n<0)
{