Exercice 5 1.
Écrire une fonction non récursive
double_liste
qui prend en argument une liste
d’entiers
L
et renvoie la liste où chaque entier est doublé. Ainsi,
double_liste[1,2,3,4,5]
doit renvoyer [2,4,6,8,10].
2. Écrire une fonction double_liste_rec faisant la même chose, de façon récursive.
Exercice 6 1.
Écrire une fonction non récursive
renverse_liste
qui prend en argument une
liste d’entiers
L
et renvoie la liste renversée. Par exemple,
renverse_liste[1,2,3,4,5]
doit
renvoyer [5,4,3,2,1].
2. Écrire une fonction renverse_liste_rec faisant la même chose, de façon récursive.
Exercice 7 1.
Écrire une fonction
completer
qui prend en argument 2 listes de chiffres entre 0
et 9, et qui renvoie ces 2 listes, la plus courte ayant été complétée par des
0
à gauche pour avoir
2 listes de même longueur. Par exemple,
completer([1,2], [3,4,5])
doit renvoyer
[0,1,2],
[3,4,5].
2.
En utilisant la fonction précédente, écrire une fonction
addition
qui prend en argument 2 listes
de chiffres entre 0 et 9, et qui renvoie la liste représentant l’addition des deux nombres dont
la suite des chiffres est donnée par les arguments. Par exemple, avec les arguments
[1,2,3]
et
[2,0]
, qui représentent les entiers 123 et 20, elle doit renvoyer
[1,4,3]
qui représente
143 = 123 + 20.
Résultats attendus avec le fichier fourni.
f1 (3 ,8) = 13
f2 (2 ,3 ,4) = 5
f2 (3 ,4 ,5) = -1
demi (6) = 3
demi (7) = 3
reste_e t_ pa ri te (6) = [3 , 0]
reste_e t_ pa ri te (7) = [3 , 1]
decomposition_base_2(13) = [1, 0, 1, 1]
decomposition_base_2(15) = [1, 1, 1, 1]
doub l e _ l i s te ([1 ,2 ,3 ,4 ,5]) = [2 , 4 , 6, 8 , 10]
double_liste_rec ([1 ,2 ,3 ,4 ,5]) = [2 , 4 , 6, 8 , 10]
renverse_liste ([1 ,2 ,3 ,4 ,5]) = [5 , 4, 3 , 2 , 1]
renverse_lis t e _ r e c ([1 ,2 ,3 ,4 ,5]) = [5 , 4, 3 , 2, 1]
co m pleter ([1 ,2 ,3] , [2 ,0]) = ([1 , 4, 3] , [0 ,2 ,0])
ad dition ([1 ,2 ,3] , [2 ,0]) = [1 , 4 , 3]
2