Algorithme et fonction – 2nde 1 27 mars 2014 Déterminer les solutions de l’équation f x 0 Le problème Parfois c’est facile….. si l’on a par exemple f x 2 x 1 ou encore f x x 2 2 Mais cela peut être plus difficile si l’on a f x x 2 x 1 ou encore f x x5 x3 4 x 7 Observons la situation d’un point de vue géométrique Il faut trouver les solutions de f x 0 Graphiquement, comme nous l’avons vu dans le premier chapitre de 2nde, on peut lire une valeur approchée…… mais avec une précision très limitée sur ce dessin par exemple Une solution : faire travailler une machine programmée avec L’algorithme de la DICHOTOMIE nous permettra de trouver un encadrement de chaque solution avec une précision aussi grande que l’on veut ! Idée principale de cet algorithme : couper un intervalle contenant une solution en deux, puis déterminer dans quel sous intervalle se trouve la solution…et recommencer jusqu’à ce que l’intervalle qui encadre la solution soit assez petit pour donner un encadrement de la solution précis Variables a : un nombre b : un nombre m : un nombre f : une fonction Instructions Saisir a Saisir b TANT QUE (f(a)f(b)<0) ET (b-a>0,001) FAIRE m prend la valeur (a+b)/2 SI f(a)f(m) < 0 ALORS b prend la valeur de m SINON a prend la valeur de m FIN du TANT QUE Afficher a Afficher b Fin du programme On va choisir un intervalle a; b qui contienne la solution ici 2; 1,5 Saisir a Saisir b on sait que la solution est dans cet intervalle car f a est positif et f b est négatif (ce qui est équivalent à dire que f a f b 0 ) On calcule m ab puis on calcule f m 2 m prend la valeur (a+b)/2 On sait que - soit la solution est dans a; m - soit la solution est dans m; b Pour savoir dans quel intervalle se trouve la solution On regarde si f a et f m sont de signe contraire : Si c’est vrai, alors la solution est dans a; m Sinon (si c’est faux) la solution est dans m; b Pour terminer cette étape, si la solution est dans a; m , on choisit comme nouvel intervalle a; b l’intervalle a; m (il suffit de dire que b prend la valeur de m). si la solution est dans m; b , on choisit comme nouvel intervalle a; b l’intervalle m; b (il suffit de dire que a prend la valeur de m). SI f(a)f(m) < 0 ALORS b prend la valeur de m SINON a prend la valeur de m Puis on recommence depuis le début jusqu’à ce que le nouvel intervalle a; b soit suffisamment petit : on a alors un bon encadrement d’une solution de l’équation f x 0 TRAVAIL : 1) tester cet algorithme avec ALGOBOX (prendre comme fonction f x x 2 x 1 ) 2) comprendre chaque détail de l’algorithme 3) Modifier l’algorithme pour qu’il puisse tenir compte du cas où m est la solution, que l’on puisse demander à l’utilisateur la distance entre a et b.