:: Enseignements :: ESIPE :: E3INFO :: 2013-2014 :: Algorithmique ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) | Récursivité terminale |
Ce TP permet de manipuler de se familiariser avec l'écriture d'algorithmes simples
dans leur version itérative et récursive. Pour chaque problème ci-dessous, écrire
une fonction récursive et une fonction itérative qui le résolvent.
Exercice 1 - Factorielle
On veut calculer la fonction factorielle d'un entier positif ou nul n,
notée n!, qui est définie par
n! = 1 si n=0
n! = (n-1)! * n si n>0
Remarque: n! dépasse rapidement 231-1
Exercice 2 - Suite
On veut écrire une fonction qui affiche les n premiers
entiers positifs dans l'ordre croissant et une autre qui les affiche
dans l'ordre décroissant.
Exercice 3 - Somme des chiffres
On souhaite écrire une fonction SommeChiffre qui prend en argument
un entier n et qui calcule la somme des chiffres qui le forment.
Par exemple SommeChiffre(912942) renvoit 27.
Exercice 4 - Chiffre de la somme des chiffres
On souhaite maintenant écrire une fonction ChiffreSommeChiffre qui
répète le calcul précédent sur son résultat tant que ce résultat est un nombre
qui n'est pas un chiffre.
Par exemple ChiffreSommeChiffre(912942) renvoit 9 car
SommeChiffre(912942) vaut 27 et que SommeChiffre(27)
vaut 9.
Exercice 5 - Palindrome
On veut écrire une fonction qui détermine si une chaîne de caractères est un palindrome.
Par exemple, a, aba, abba, radar et
esoperesteetserepose sont des palindromes.
Exercice 6 - Puissance de n
On veut écrire une fonction qui calcule np mod N pour
n, p et N entiers tels que
p >= 0 et N > 0.
On écrira une version linéaire et une version logarithmique.
Exercice 7 - Fibonacci
On veut écrire une fonction qui calcule le nième
nombre de Fibonacci.
© Université de Marne-la-Vallée