Vous êtes sur la page 1sur 2

[Lycée Faÿs] Term NSI TP2 Chapitre 5 : Programmation Récursive

EXERCICE 1 : Somme des entiers

Nous souhaitons programmer une fonction python qui calcule la somme des entiers de 0 à n

1) Que doit donner l’appel somme(5) ?, somme(1) ? On répondra en commentaire dans un fichier
python.

2) Programmation itérative : On rappelle que la programmation itérative est la programmation


habituelle de première, qui repose essentiellement sur les boucles (for ou while).

Programme une fonction python somme_iter qui prend en argument un entier n et calcule la
somme des entiers de 0 à n. On utilisera une boucle.

Tester votre fonction sur les valeurs de la question 1.

3) Programmation récursive : Programme une fonction python récursive somme_rec qui prend en
argument un entier n et calcule la somme des entiers de 0 à n. On utilisera une structure
conditionnelle if..else

Tester votre fonction sur les valeurs de la question 1.

EXERCICE 2 :

Écrire une fonction récursive puissance(x,n) qui calcule le nombre 𝑥 𝑛 .

EXERCICE 3 :

La suite de Syracuse est définie ainsi : On prend un nombre, si ce nombre est pair, on le divise par 2, sinon
on le multiplie par 3 puis on ajoute 1. On recommence cette opération tant que possible.

Une conjecture (non démontrée à ce jour) affirme qu’au bout d'un certain temps, on finira toujours par
tomber sur le nombre 1.

Proposer une fonction récursive syracuse(n) permettant d’afficher tous les termes de la suite de
Syracuse, s'arrêtant (on l'espère) à la valeur 1. Cette fonction ne renverra rien (None) dans le cas de base.

Classe de Terminale Page 1/2 Lycée Fays - Villeurbanne


[Lycée Faÿs] Term NSI TP2 Chapitre 5 : Programmation Récursive
EXERCICE 3 : Suite de Fibonacci

La suite de Fibonacci est très connue dans le monde des mathématiques. Les deux premiers termes de
cette suite sont égaux à 1, ensuite on calcule les termes suivants en ajoutant à chaque fois les deux termes
précédents.

Sa définition mathématique est la suivantes :

• u0 = 0, u1 = 1
• Pour n > 1 : un+1 = un + un-1

Ce qui nous donne pour les 6 premiers termes de la suite de Fibonacci :

• u0 = 0
• u1 = 1
• u2 = u1 + u0 = 1 + 0 = 1
• u3 = u2 + u1 = 1 + 1 = 2
• u4 = u3 + u2 = 2 + 1 = 3
• u5 = u4 + u3 = 3 + 2 = 5

1) A la main, calculer 𝑢10 . Ecrire le résultats en commentaire dans votre fichier python.

2) Ecrire deux fonctions fibonacci_iterative(n) et fibonacci_recursive(n)qui calculent et affichent


le terme de rang n de la suite de Fibonacci

3) Tester vos fonction sur la valeur n=10. Comparer avec le résultat de la première question.

Classe de Terminale Page 2/2 Lycée Fays - Villeurbanne

Vous aimerez peut-être aussi