Vous êtes sur la page 1sur 3

cole Prparatoire aux Sciences et Techniques, Annaba

Dpartement de mathmatiques et dinformatique

Module : Informatique 2

Srie de TD no 3 : Boucles
Rappel sur les boucles
1.
2.
3.
4.
5.
6.

En C++, quelles sont les 3 manires dexecuter des instructions de manire rptitive.
Donner la syntaxe dune boucle while.
Donner la syntaxe dune boucle for.
Donner la syntaxe dune boucle do ... while.
Quelle diffrence existe entre une boucle while et une boucle do ... while ?
De manire gnrale, quand est-ce quil est prfrable dutiliser une boucle for ?

Exercice 1
crire un programme qui calcule et imprime la somme des carrs des nombres inferieurs
ou gaux un nombre donn. Par exemple, si 5 est entr, le programme imprimera 55, qui
gale 12 + 22 + 32 + 42 + 52 .

Exercice 2
Quaffiche chaquun des fragments de programme suivants ?
1. double x = 4.15;
for (int i=0; i < 3; i++) {
x *= 2;
cout << x << endl;
}
2. for (int i=0; i<8;i++) {
if (i%2==0)
cout << i+1 << "\t";
else if (i%3==0)
cout << i*i << "\t";
else if (i%5==0)
cout << 2*i-1 << "\t";
else
cout << i << "\t";
}
3. for (int i=0;i<8;i++) {
if (i%2==0)
cout << i+1 << endl;
else if (i%3==0)
continue;
else if (i%5==0)
break;
cout << "fin de l'itration" << endl;
}
cout << "fin du programme";
1

EPST Annaba

Module : Informatique 2

Srie de TD no 3

Exercice 3
Convertir cette boucle for en boucle while.

for (int i=1; i <= n; i++)


cout << i*i << " ";

Exercice 4
Ecrire un programme qui demande lutilisateur dentrer un nombre et affiche sa table
de multiplication. Par exemple, si 4 est entr, le programme affichera :

4
4
4
4
4
4
4
4
4

*
*
*
*
*
*
*
*
*

1
2
3
4
5
6
7
8
9

=
=
=
=
=
=
=
=
=

4
8
12
16
20
24
28
32
36

Exercice 5
crire un programme qui calcule le rsultat de la division entire de deux nombre en
utilisant des soustractions succssives. Par exemple, pour calculer 14 / 3, on soustrait 3
14 jusqu ce quon obienne une valeur infrieur 3, le rsultat de la division est gale au
nombre de soustractions effectues :

14 - 3 = 11, 11 >= 3 on continue


11 - 3 = 8, 8 >= 3 on continue
8 - 3 = 5, 5 >= 3 on continue
5 - 3 = 2, 2 < 3 on arrte, 4 soustractions ont t effectues

Exercice 6
crire un programme qui demande lutilisateur dentrer 10 entiers. Le programme doit
dtrminer la valeur la plus petite et lafficher.

Problme : Autour des nombres


1. crire un programme qui demande lutilisateur dentrer un nombre entier, puis
calcule et affiche la somme de ses chiffres. Par exemple, si lutilisateur entre 1356, le
programme affiche 15 qui est gale 1 + 3 + 5 + 6.
2. crire un programme qui demande lutilisateur dentrer un nombre entier, et affiche
tous ses diviseurs (sauf lui-mme). Par exemple, si lutilisateur entre la valeur 10, le
programme affiche les valeurs 1, 2 et 5.
3. Un nombre entier est appel nombre parfait si la somme de tous ses diviseurs (sauf
lui-mme) donne comme rsultat le nombre lui-mme, par exemple 6 et 28 sont des
nombres parfaits car :
6 = 1+2+3
28 = 1 + 2 + 4 + 7 + 14
2

EPST Annaba

Module : Informatique 2

Srie de TD no 3

crire un programme qui demande lutilisateur dentrer un nombre entier et indique si ce nombre est parfait ou pas.
4. Un nombre entier n est premier sil nest divisible que par 1 et lui-mme. On peut tester
si un nombre premier en adoptant lquivalence suivante :

n est premier x [2, N ] n n0 est pas divisible par x


crire un programme qui demande lutilisateur un nombre entier et indique si ce
nombre est premier ou pas. (Vous pouvez utiliser la fonction prdfinie sqrt de la librairie
math.h).
5. On peut obtenir une valeur approche de en utilisant la formule de Leibniz (https:
//fr.wikipedia.org/wiki/Formule_de_Leibniz) :
=

4 4 4 4 4
4
+ +

1 3 5 7 9 11

On note k la valeur approximative de en utilisant une precision de k termes. Par


exemple :
4
1 =
1
2 =

4 4

1 3

5 =

4 4 4 4 4
+ +
1 3 5 7 9

k =

4
4 4 4 4 4
+ +

1
3
5
7
9
11
|
{z
}
k termes

crire un programme qui demande lutilisateur dentrer la prcision k voulue, calcule et affiche lapproximation k . (Vous pouvez utiliser la fonction prdfinie pow( x, y)
de la librairie math.h qui calcule x y ).

Une version lctronique de ce document est disponible sur : http://skebir.developpez.com/epst

Vous aimerez peut-être aussi