Vous êtes sur la page 1sur 2

4ème année de l’enseignement secondaire Série d'exercices № 10

. Section : Sciences de l’informatique


La récursivité
Matière : Algorithmique & programmation ALGORITHME + PYTHON

Exercice №1 :
Soit les deux algorithmes ci-dessous de la fonction «Quoi1» et «Quoi2»:

Fonction Quoi1 (a, b: entier):.............. Fonction Quoi2 (a, b: entier):…………..


Début Début
Si ( a < b) alors Si ( a < b) alors
Retourner 0 Retourner a
Sinon Sinon
Retourner 1 + Quoi2(a-b, b) Retourner Quoi2(a-b, b)
Fin Si Fin Si
Fin Fin

1) En se référant aux deux algorithmes, compléter la tableau ci-dessous


Fonction Quoi1 Fonction Quoi2
Donner le résultat
…………………………………….. ……………………………………..
pour a = 20 et b = 3
Donner le résultat
…………………………………….. ……………………………………..
pour a = 20 et b = 3
Quel est le type de
…………………………………….. ……………………………………..
résultat?
Quel est le rôle de
…………………………………….. ……………………………………..
chaque fonction?

2) Réécrire l'algorithme de la fonction «Quoi1» avec une solution itérative.

Exercice №2 :
Soit l'algorithme suivant de la fonction «Inconnu»:

Fonction Inconnu (a: entier): entier 1) Faire un tournage à la main pour a = 1254683, puis
Début
donner le résultat retourné par cette fonction.
val  0
Tant que (a ≠ 0) faire 2) Déduire le rôle de cette fonction.
Si ( a mod 2 = 0) alors
3) Réécrire l'algorithme de la fonction «Inconnu»
val  val + 1
Fin Si avec une solution récursive.
a  a div 10
4) Dans la solution récursive trouvée, combien y-a-t'il
Fin Tant Que
Retourner val de cas particulier (condition d'arrêt) et de cas
Fin
générale (condition de continuité).

1
Exercice №3 :
Un nombre est dit premier s'il est divisible uniquement par 1 et lui-même. Proposer une solution récursive
qui prend en paramètre un entier N ≥ 2 et qui renvoie une booléen.

Exercice №4 :
Soit la suite U définie par :
𝑼𝟎 = 𝟏 𝒔𝒊 𝒏 = 𝟎
{ 𝟎
𝑼𝒏 = 𝟐 + 𝑼𝒏−𝟏 𝒔𝒊𝒏𝒐𝒏

1) Quel est l’ordre de récurrence de la suite U ? justifier votre réponse.


2) Donner l’algorithme de la fonction récursive qui calcule et le Nième terme de la suite U.
Exercice №5 :
Soit la suite U définie par :
𝑼𝟎 = 𝟏 𝒔𝒊 𝒏 < 2
{ 𝟎
𝑼𝒏 = 𝟑 ∗ 𝑼𝒏−𝟏 + 𝑼𝒏−𝟐 𝒔𝒊𝒏𝒐𝒏

1) Quel est l’ordre de récurrence de la suite U ? justifier votre réponse.


2) Donner l’algorithme de la fonction récursive qui calcule et le Nième terme de la suite U.
Exercice №6:
Écrire une fonction récursive nommé «inverseCH» qui prend une chaîne de caractères en entrée et
retourne cette chaîne inversée. Par exemple, "hello" devrait devenir "olleh".
Exercice №7:
Écrire une fonction récursive nommé «majusCH» qui prend une chaîne de caractères en entrée et
retourne une nouvelle chaîne où tous les caractères sont en majuscules.
Exercice №8:
Écrire une fonction récursive nommé «nbMot» qui prend une chaîne de caractères en entrée et
retourne le nombre de mots dans la chaîne.
NB: Vous pouvez considérer qu'un mot est délimité par des espaces.
Exercice №9:
Un mot est un palindrome si on peut le lire dans les deux sens de gauche à droite et de droite à
gauche. Exemple RADAR est un palindrome.
Ecrire une fonction récursive nommé «palindrome» permettant de vérifier si un mot est palindrome.

Vous aimerez peut-être aussi