Programmation de cette recherche en Python☘
Dans le dossier [NSI]
, créez le dossier [G04_Dichotomie]
.
Téléchargez le fichier « à trous » TPG04.10.py
(clic droit -> [Enregistrer la cible du lien sous]) et enregistrez-le dans
ce dossier.
Consignes communes à chaque partie
Le programme principal contient un appel au module doctest
:
##----- Programme principal et tests -----##
if __name__ == '__main__':
import doctest
doctest.testmod()
Il faudra aussi ajouter vos propres tests dans le «
main
»
afin de vous entraîner à en réaliser.
Partie 1 - Algorithme de recherche dichotomique☘
Rappel de l'algorithme
On considère l'algorithme suivant dans lequel :
tab
est un tableau dont les éléments sont triés par ordre croissant et numérotés de0
àn-1
(donc ayantn
éléments).val
est une variable dont la valeur est de même type que les éléments du tableautab
.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Complétez la définition de la fonction recherche_dicho()
qui implémente
l'algorithme de recherche par dichotomie en Python.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
Partie 2 - Renvoyer l'indice de présence☘
Reprendre le code précédent et le modifier pour que la fonction
indice_par_dichotomie()
prenant pour paramètre un tableau d'entiers tab
trié
par ordre croissant et un entier val
renvoie l'indice de val
si val
est
présent dans tab
et renvoie -1
dans le cas contraire.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|