Vous êtes sur la page 1sur 5



 ‡’Ǧ ˆ‘”ƒ–‹“—‡       ±‡ǦʹͲʹ3Ǧʹ4


ʹǦ Ǧ
 Série de TD N°1

Correction
Exercice 1 :
1- La procédure EMP1 est à récursivité non terminale, par contre la procédure EMP2 est
récursive terminale.
2- Déroulement de EMP1(5)

EMP1(5)

IMP1(4) ; écrire (5) impression 5

IMP1(3) ; écrire (4) impression 4

IMP1(2) ; écrire (3) impression 3

IMP1(1) ; écrire (2) impression 2

IMP1(0) ; écrire (1) impression 1

IMP1(-1) ; écrire (0) impression 0

Donc on obtient l’impression de : 0, 1,2 ,3, 4, 5 (ordre croissant)

Déroulement de EMP2(5)

IMP2(5)

Écrire (5) ; IMP2(4)

Écrire (4) ; IMP2(3)

Écrire (3) ; IMP2(2)

Écrire (2) ; IMP2(1)

Écrire (1) ; IMP2(0)

Écrire (0) ; IMP2(-1)

Donc on obtient l’impression : 5, 4, 3, 2, 1, 0 (ordre décroissant)

Pr A. Ait el hadj & F. Souam


UMMTO
FGEI Dep- Informatique Année -2023-24
L2-ALGO3-STD
Série de TD N°1

EXERCICE 2
Fonction f(a, b : entier) : entier ;
Début
Si b=1 alors
Retourner (a)
Sinon
Retourner (a + f(a, f(a, b‐1))
Fsi
Fin

Déroulement avec a=3 et b=5


f(3, 5)= 15 ce qui représente le produit de a par b
15
3+ f(3, 4)
12
3+f(3, 3)
9
3+ f(3, 2)
6
3+ f(3,1)
=3

EXERCICE 3
On a l’identité remarquable (n+1)2 = n2+2n+1, elle nous donne le carré de n+1 en fonction du
carré de n.
Pour écrire une fonction récursive qui donne le carré de n, on doit avoir une équation donnant
le carré de n en fonction du carré de n-1. L’identité remarquable donnée est valable ∀n≥0, en
remplaçant n par n-1 l’équation reste valable ∀n˃0 .
En remplaçant on obtient :
(n-1+1)2 = (n-1)2+2n+1 ce qui donne
(n)2 = (n-1)2+2n-1 ce qui donne le carré de n en fonction du carré de n-1

Fonction calc (n : entier : entier ;


Début
Si n˂0 alors retourner calc(‐n)
Sinon
Si n=0 alors retourner (0)
Sinon
Retourner (calc(n‐1) +2*n‐1)
Fsi
Fsi
Fin
UMMTO
FGEI Dep- Informatique Année -2023-24
L2-ALGO3-STD
Série de TD N°1
Déroulement pour n = -4
Calc(-4) =16
16
Calc(4)
16
Calc(3)+2*4-1
9
Calc(2)+2*3-1
4
Calc(1)+2*2-1
1
Calc(0)+2*1-1
=0

EXERCICE 4
𝐶 𝐶 𝐶 avec n˃1 , n≥p et 𝐶 𝐶 1
Cette égalité ne s’apprête pas à une écriture d’une fonction récursive
On peut donc la transformer comme suit 𝐶 𝐶 𝐶

Fonction C(n, p : entier) : entier ;


Début
Si (p=0 ou n=p) alors retourner (1)
Sinon
Retourner (C(n‐1, p) + C(n‐1, p‐1))
Fsi
fin

Déroulement C(6, 2)
C(6, 2)= 15
15

C(5,2) + C(5, 1)
10 5
C(4,2) + C(4, 1) C(4,1) + C(4, 0)
6 4 4

C(3,2) + C(3, 1) C(3,1) +C(3, 0) C(3,1) + C(3, 0) =1


3 3 2 3 1
=1 =1
C(2,2) + C(2, 1) C(2,1) +C(2, 0) C(2,1) + C(2, 0) C(2,1) + C(2,0)

=1 2 2 =1 2 =1 2 =1

C(1,1) + C(1, 0) C(1,1) + C(1, 0) C(1,1) + C(1, 0) C(1,1) + C(1, 0)

=1 =1 =1 =1 =1 =1 =1 =1
UMMTO
FGEI Dep- Informatique Année -2023-24
L2-ALGO3-STD
Série de TD N°1

EXERCICE 5
1. C’est l’équivalent de
Exp (x, 0) =1
Exp (x, n) = Exp (x, n-1)*x pour x > 0

Fonction Exp1 (x : entier, n : entier) : entier ;


Debut
Si n˂0 alors écrire (‘la fonction ne fait pas de puissance négative’)
Sinon
Si n=0 alors retourner 1
Sinon
Retourner (Exp1(x, n‐1)*x)
fsi
fsi
fin

2.
Fonction Exp2 ( x : entier, n : entier) : entier ;
Debut
Si n˂0 alors écrire (‘la fonction ne fait pas de puissance négative’)
Sinon
Si n = 0 alors retourner (1)
Sinon
Si (n Mod 2= 0) alors
Retourner (Exp2(x*x, n div 2))
sinon
Retourner (Exp2(x*x, (n‐1) Div 2)*x)
Fsi
Fsi
Fsi
Fin

EXERCICE 6
1- Il s’agit d’une récursivité non terminale.
Déroulement pour n=213 :

Toto(213) =14
14
3*3+Toto(21)
5
1*1+ Toto(2)
4
=2*2=4

2- La fonction calcule la somme 2*2+1*1+3*3 pour n=213, donc elle calcule la somme des carrés des
chiffres du nombre n.
UMMTO
FGEI Dep- Informatique Année -2023-24
L2-ALGO3-STD
Série de TD N°1

EXERCICE 7
Fonction fact (n : entier) :entier ;
début
si n=0 alors
retourner (1)
sinon
retourner (n*fact(n‐1))
fsi
fin

On définit une fonction auxiliaire fact_rec_term


fonction fact_rec_term (m, n: entier) : entier;
Début
si n=0 alors retourner m
sinon
retourner fact_rec_term (n*m, n‐1)
fsi
fin

fonction fact(n: entier) : entier;


debut
retourner fact_rec_term(1 ,n)
fin

Dans ce genre d’algorithme, aucun calcul n’est fait à la remontée, ce qui entraîne un gain de
temps.

Vous aimerez peut-être aussi