Vous êtes sur la page 1sur 7

Ecole Prparatoire en Sciences &Techniques dOran-EPSTO- 2012/2013

Semestre 2: Algorithmique & Programmation 1


re
anne

Rsum
Les structures itratives


Ecole Prparatoire en Sciences &Techniques dOran-EPSTO- 2012/2013
Semestre 2: Algorithmique & Programmation 1
re
anne

TD4
Les structures itratives

Exercice 1
Ecrire un algorithme permettant de calculer lexpression suivante :
en utilisant les boucles tant que, rpter et
pour.
Exercice 2
Ecrire un algorithme permettant de calculer par des soustractions successives le
quotient entier et le reste de la division entire de deux entiers entrs au clavier.
Exercice 3
Ecrire un algorithme permettant de calculer le nombre lu rebours d'un nombre
positif entr au clavier en supposant que le fichier d'entre standard contient une suite
de chiffres non nuls, termine par zro (Contrlez s'il s'agit vraiment de chiffres).
Exemple: Entre: 1 2 3 4 0 Affichage: 4321
Exercice 4
Ecrire un algorithme permettant de calculer pour une valeur X relle la valeur
numrique d'un polynme de degr n:
P(X) = AnXn + An-1Xn-1 + ... + A1X + A0
Les valeurs de n, des coefficients An, ... , A0 et de X seront entres au clavier.
Utilisez le schma de Horner qui vite les oprations d'exponentiation lors du
calcul:






Exercice 5
Ecrire un algorithme permettant de calculer le P.G.C.D. de deux entiers naturels
entrs au clavier.
Donner deux versions diffrentes dalgorithmes : 1 version avec les soustractions et
une autre version avec la mthode Euclidienne.
Ecole Prparatoire en Sciences &Techniques dOran-EPSTO- 2012/2013
Semestre 2: Algorithmique & Programmation 1
re
anne

SOLUTION FICHE 4


Exercice 1


































Ecole Prparatoire en Sciences &Techniques dOran-EPSTO- 2012/2013
Semestre 2: Algorithmique & Programmation 1
re
anne

Exercice 2

Algorithme DivisionEntire
Variable
NUM : entier /* numrateur de la division entire */
DEN : entier /* dnominateur de la division entire */
DIV : entier /* rsultat de la division entire */
RES : entier /* reste de la division entire */

debut
ecrire ("Introduisez le numrateur : ");
lire(NUM);
ecrire ("Introduisez le dnominateur : ");
lire(DEN);

RESNUM
DIV0
Tant que (RES>=DEN) faire
RESRES-DEN
DIVDIV+1
Fintq

Ecrire(NUM, "divis par",DEN, " est", DIV,"reste", RES)
FIN.
























Ecole Prparatoire en Sciences &Techniques dOran-EPSTO- 2012/2013
Semestre 2: Algorithmique & Programmation 1
re
anne

Exercice 3

Algorithme CompteARebours
Variable X : entier /* Le chiffre courant */
N :entier /* Le compteur des dcimales */
VALD : entier /* Valeur de la position dcimale courante */
NOMB : entier /* Le nombre rsultat */
Debut
N0
VALD 1
NOMB 0

Rpter
Ecrire ("Entrez un chiffre");
Lire (X);
Si (X<0 ou X>9) alors Ecrire ("ERREUR, Entrer des chiffres entre 0-9")

Sinon
Si (X>0 et X 9) alors
NOMB NOMB+VALD*X
NN+1
VALD VALD*10

Fsi
Fsi

jusqu (X=0)
Ecrire ("La valeur du nombre renvers est ", NOMB)

FIN.












Ecole Prparatoire en Sciences &Techniques dOran-EPSTO- 2012/2013
Semestre 2: Algorithmique & Programmation 1
re
anne

Exercice 4
Algorithme ValeurPolynome
Variable
N : entier /* degr du polynme */
X : reel /* argument */
A : reel /* coefficients successifs du polynme */
P : reel /* coefficient courant du terme Horner */
Debut

Ecrire("Entrer le degr N du polynme : ");
Lire (N);
Ecrire("Entrer la valeur X de l'argument : ");
lire(X);

Pour (P de N 0 par pas -1 ) faire
Ecrire ("Entrer le coefficient ")
Lire (A)
P P*X + A
fpour

Ecrire ("Valeur du polynme pour X =", X, "est gale ", P)
Fin.

























Ecole Prparatoire en Sciences &Techniques dOran-EPSTO- 2012/2013
Semestre 2: Algorithmique & Programmation 1
re
anne

Exercice 5

1ere Version
Algorithme PGCD
Variable A, B : entier /* donnes */
Debut
Repeter
Ecrire ("Entrer l'entier A (non nul) : ")
Lire (A)
Jusqu (A0)

Repeter
Ecrire ("Entrer l'entier B (non nul) : ");
lire(B)
jusqu (B0)

tant que (A B) faire
Si (A>B) alors AA-B
Sinon BB-A
Fsi
finTQ

Ecrire ("Le PGCD = " ,A)
FIN

2me Version

Algorithme PGCDEuclidienne
Variable
A, B,R : entier /* donnes */
Debut
Repeter
Ecrire ("Entrer l'entier A (non nul) : ")
Lire (A)
Jusqu (A0)
Repeter
Ecrire ("Entrer l'entier B (non nul) : ");
lire(B)
jusqu (B0)

Tant que (B 0) faire
R Amod B (ou R A%B)
AB
VR
finTQ

Ecrire ("Le PGCD = " ,A)
FIN