____________________________________________________________________________________________________________
Exercice 1 :
Ecrire une fonction récursive qui
calcule la factorielle d’un nombre entier N.
N.B :
N ! = 1*2*3*…….*N
____________________________________________________________________________________________________________
Solution :
Pour écrire la forme récursive
d’une fonction, il faut chercher tout d’abord la récurrence mathématique, sinon
la récursivité n’est pas utilisable.
Dans le cas du calcul de la
factorielle, la récurrence mathématique peut se présenter comme suit :
0 ! = 1
N ! = N*(N-1) !
Fonction factorielle (N : entier)
() : entier;
Début
Si N=0 alors
Retour (1) ;
Sinon
Retour(N*factorielle(N-1)()) ;
Finsi
fin
____________________________________________________________________________________________________________
Exercice 2 :
Ecrire une fonction récursive qui
calcule le Nième terme da la suite de Fibonacci définie comme suit :
F0 = 1
F1= 1
Fn =Fn-2 + Fn-1
pour tout n >2
____________________________________________________________________________________________________________
Solution :
Fonction fibonacci (N : entier)
() : entier;
Début
Si N<= 2 alors
Retour (1) ;
Sinon
Retour(fibonacci(N-2)() +fibonacci(N-1)());
Finsi
fin
____________________________________________________________________________________________________________
Exercice 3 :
Ecrire une fonction récursive qui
calcule la somme de N premiers nombres
entiers naturels :
S=1+2+3+……+N
____________________________________________________________________________________________________________
Solution :
Pour écrire la forme récursive de
la fonction somme, il faut chercher tout d’abord la récurrence mathématique.
S(0) = 0
S(N)=N+S (N-1)
Fonction somme (N : entier) () :
entier;
Début
Si N=0 alors
Retour (N) ;
Sinon
Retour(
N+somme(N-1)());
Finsi
fin
____________________________________________________________________________________________________________
Exercice 4 :
Ecrire une fonction récursive qui
calcule le Nième terme da la suite numérique
définie comme suit :
U0 = 2
U1= 2
U2= 2
Un =6*Un-1 + 4*Un-2 - 5*Un-3 pour tout n >2
____________________________________________________________________________________________________________
Solution :
Fonction suite (N : entier) () :
entier;
Début
Si N<= 3 alors
Retour (2) ;
Sinon
Retour(6*suite(N-1)() + 4*suite(N-2)() – 5*suite(N-3)()) ;
Finsi
fin
____________________________________________________________________________________________________________
Exercice 5 :
Ecrire une fonction récursive qui
calcule les valeurs de polynôme d’Hermite Hn(x)
définie comme suit :
H0(x) = 1
H1(x) = 2*x
Hn (x)=2*x*Hn-1 (x) – 2(n-1)*Hn-2 (x) pour tout n >1
____________________________________________________________________________________________________________
Solution :
Fonction Hermite (N : entier, X :
réel) () : entier;
Début
Si N= 0 alors
Retour (1) ;
Sinon
Si N=1 alors
Retour(2*X);
Sinon
Retour(2*X*hermite(N-1,X)()
+ 2*(N-1)*Hermite(N-2,X)()) ;
Finsi
Finsi
fin
____________________________________________________________________________________________________________
0 commentaires:
Enregistrer un commentaire