Académique Documents
Professionnel Documents
Culture Documents
Partie 1 - Dichotomie
Q1. Écrire une fonction dichotomie(f,a,b,precision), où a,b et precision sont des nombres, et où f est
une fonction continue sur [a, b] telle que f(a).f(b) < 0, qui renvoie une valeur approchée à precision
près d’une solution x de l’équation f (x) = 0, obtenue par dichotomie.
Q2. Écrire une fonction recherche_dichotomique(L,x), où L est une liste de nombres réels rangés dans
l’ordre croissant, où x est un nombre réel et qui renvoie True si x est élément de la liste L et False
sinon, en procédant par dichotomie.
Q3. Quels sont le coût en temps et la complexité dans le pire des cas de cet algorithme en fonction de
la longueur n de L ?
Q4. Écrire une fonction dichotomie2(L), où L contient les valeurs f(0), f(1), . . . , f(p) d’une fonction f
telle que f(0) et f(p) sont de signes opposés, et qui renvoie deux entiers consécutifs i et i + 1 dont les
images par f sont de signe opposés.
Q5. En faisant une interpolation linéaire de f entre i et i + 1, écrire une fonction resolution(L) qui
renvoie une solution approchée de l’équation f (x) = 0.
Q6. Comparer les résultats des deux algorithmes en utilisant la fonction f(x) = x.ex. Commenter.
Partie 2 – La récursivité
La valeur du PGCD (Plus Grand Diviseur Commun) de deux entiers naturels a et b est calculable à
l’aide de l’algorithme d’Euclide : pgcd(a, b) = pgcd(b,r) ou r est le reste dans la division euclidienne de
a par b.
Q1. Ecrire une version itérative de l’algorithme permettant de calculer le pgcd de deux entiers.
Q2. Ecrire une version récursive de l’algorithme permettant de calculer le pgcd de deux entiers.
Algorithme 3 : elle trie les programmes par heure de fin croissante, choisit le programme qui se
termine le plus tôt, puis le programme qui se termine le plus tôt parmi ceux qui restent et qui sont
compatibles, et ainsi de suite.