Académique Documents
Professionnel Documents
Culture Documents
Exercice n°1
1. Itérations and récusions
1.1. Écrire un programme qui affiche le plus grand et le plus petit d’une suite d’entiers
saisis. La suite se termine par un 0.
1.2. Écrire un programme qui détermine tous les diviseurs d’un nombre entier saisi plus
grand que 1.
1.3. Écrire un programme qui effectue la multiplication de deux entiers positifs m et n,
sans utiliser l’opérateur *, selon le principe suivant :
𝑚 × (𝑛 − 1) + 𝑚 𝑖𝑓 𝑛 𝑖𝑠 𝑜𝑑𝑑
mxn={ 𝑛
(2𝑚) × ( ) 𝑖𝑓 𝑛 𝑖𝑠 𝑒𝑣𝑒𝑛 𝑎𝑛𝑑 𝑛𝑜𝑡 𝑧𝑒𝑟𝑜
2
Exemple
36 x 7 = 36 x 6 + 36
= 72 x 3 + 36
= 72 x 2 + 108
= 144 x 1 + 108
= 144 x 0 + 252
= 252
Écrire un programme qui lit deux entiers au clavier et affiche leur produit selon
l’algorithme récursif défini ci-dessus.
𝑆𝑛 = 𝑆𝑛−1 + 𝑛
{
𝑆0 = 0
Écrire une fonction python qui affiche 1; 2; … ; n sans passer par une boucle.
e. Sans modifier aucun caractère dans le code précédant, adapter la procédure lister
pour qu’elle affiche la même suite dans l’ordre décroissant n; … ; 2; 1.
1.5. Écrire un programme qui approxime par défaut la valeur de la constante
mathématique e, pour n assez grand, en utilisant la formule :
𝑛
1
𝑒≈∑
𝑖!
1
Pour cela, définissez la fonction factorielle et, dans votre programme principal,
saisissez l'ordre n et affichez l'approximation correspondante de e.
Écrire un programme python qui lit deux entiers au clavier x et n et affiche la puissance xn
selon l’algorithme récursif défini ci-dessus.
3. Fibonacci dichotomique
On considère la suite de Fibonacci (fn)n définie par :
𝑓𝑛 = 𝑓𝑛−1 + 𝑓𝑛−2
{
𝑓0 = 0, 𝑓1 = 1
Écrire, par deux méthodes, la fonction fibo(n) qui retourne la valeur fn de la suite de
Fibonacci pour un entier positif n donné.
Ecrire un programme qui permet de calcular le montant des heures supplémentaires d’un
employé, sachant le prix unitaire d’une heure, selon le barème suivant :