Sei sulla pagina 1di 3

Université de Tunis

Institut Préparatoire aux Etudes d’Ingénieurs de Tunis


AU : 2021-2022
Classes : MP7, PC4, PC5

Devoir de maison : La récursivité

Exercice n°1 : Reste de la division entière


Soient a et b deux entiers naturels non nuls.
Ecrire une fonction python récursive intitulée Reste(a,b) qui permet de déterminer
le reste de la division entière de a par b.
N.B: Il est strictement interdit d'utiliser les opérateurs // et %.

Exercice n°2 : Quotient de la division entière


Ecrire une fonction python récursive intitulée Quotien(a,b) qui permet de déterminer le
quotient de la division entière de a par b en apportant les modifications nécessaire à la
fonction Reste(a,b).

Exercice n°3 : Affichage successif d'un message


Ecrire une fonction python récursive intitulée Affichage_succ(Msg,n) qui permet d'afficher
le message Msg n fois successives.

Exercice n°4 : Nombre de chiffres d'un entier


Ecrire une fonction python récursive NbChiffres(n) qui prend en paramètre un entier
naturel n et retourne le nombre de chiffres de cet entier.

Exercice n°5 : Nombre d’éléments dans une liste


Ecrire une fonction python récursive NbeltListe(L) qui permet de retourner le nombre
d’éléments dans une liste.

Exercice n°6 : Recherche récursive du minimum d'une liste

Ecrire une fonction python récursive MinListe(L) qui permet de déterminer la valeur
minimale dans une liste L.

Exercice n°7 : Palindrome

Ecrire une fonction python récursive Palindrome(CH) qui permet de vérifier si une chaine
CH est un palindrome en se basant sur les définitions suivantes :

• La chaine vide est un palindrome


• La chaine constituée d'un seul caractère est un palindrome

1
• aYb est un palindrome si a=b et Y est un palindrome.

Exercice n°8 : Inverse d'une chaine

Ecrire une fonction python récursive Inverse(CH) qui à partir d'une chaine CH permet de
retourner la chaine inverse.

Exercice n° 9 : Extrait du DS 2016

La fonction de couplage de Cantor est une fonction qui établit une bijection de NxN dans N,
qui pour chaque couple de valeurs (x , y) associe une valeur entière f(x,y) qui représente le
numéro du couple (x , y) en commençant par le couple (0 , 0). Ainsi, le numéro 0 est associé
au couple (0 , 0).

Pour calculer f(x, y), la démarche consiste à démarrer du couple (0 , 0) et à numéroter tous les
couples rencontrés pour atteindre le couple (x , y).

La représentation graphique ci-dessous illustre le principe de la fonction de couplage de


Cantor. Un couple est représenté par un point dans le plan. Il s’agit alors de parcourir le plan
à partir du point (0 , 0) jusqu’à atteindre le point (x , y).

Par exemple, pour déterminer le numéro du point de coordonnées (3 , 1), il faudra :

▪ partir du point (0 , 0)

▪ passer par les différents points indiqués par le schéma suivant.

Le tableau suivant résume également les différents couples rencontrés pour la détermination
du numéro du couple (3,1) qui sera égale à 11.

(x , y) f(x , y)

2
(0 , 0) 0
(1 , 0) 1
(0 , 1) 2
(2 , 0) 3
(1 , 1) 4
(0 , 2) 5
(3 , 0) 6
(2 , 1) 7
(1 , 2) 8
(0 , 3) 9
(4 , 0) 10
(3 , 1) 11
… …
… …

1. Ecrire une fonction Python CantorIteratif(x,y), définie de façon itérative, qui


retourne le numéro du point de coordonnées (x ,y).

2. Ecrire une fonction Python CantorRecursif(x,y), définie de façon récursive,


qui retourne le numéro du point de coordonnées (x ,y).

Potrebbero piacerti anche