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 | |