Sujet n°9
Sujet original
Pour télécharger l'énoncé original, cliquer ici.
Exercice n°1☘
Programmer la fonction multiplication
, prenant en paramètres deux nombres entiers relatifs
n1
et n2
, et qui renvoie le produit de ces deux nombres.
Les seules opérations autorisées sont l’addition et la soustraction.
Exemples
>>> multiplication(3, 5)
15
>>> multiplication(-4, -8)
32
>>> multiplication(-2, 6)
-12
>>> multiplication(-2, 0)
0
Une solution
Rien n'interdit de définir des fonctions supplémentaires donc on peut
définir une fonction renvoyant la valeur absolue d'un nombre.
Puis, une petite boucle devrait suffire...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
Exercice n°2☘
Soit tab
un tableau non vide d'entiers triés dans l'ordre croissant
et n
un entier.
La fonction chercher
, donnée ci-dessous, doit renvoyer un indice
où la valeur n
apparaît dans
tab
si cette valeur y figure et None
sinon.
Les paramètres de la fonction sont :
tab
, le tableau dans lequel s'effectue la recherche ;n
, l'entier à chercher dans le tableau ;i
, l'indice de début de la partie du tableau où s'effectue la recherche ;j
, l'indice de fin de la partie du tableau où s'effectue la recherche.
L’algorithme demandé est une recherche dichotomique récursive.
Recopier et compléter le code de la fonction chercher
suivante :
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Commentaire sur le code original
Pour télécharger l'original du fichier à compléter, cliquer ici.
Exemple
L’exécution du code doit donner :
>>> chercher([1, 5, 6, 6, 9, 12], 7, 0, 10)
>>> chercher([1, 5, 6, 6, 9, 12], 7, 0, 5)
>>> chercher([1, 5, 6, 6, 9, 12], 9, 0, 5)
4
>>> chercher([1, 5, 6, 6, 9, 12], 6, 0, 5)
2
Une solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|