Bonjour,
1/ Recherche de solutions (approchées) d'équations du type f(x) = 0. Méthode dichotomique.
Méthode applicable à une fonction f continue monotone sur I = [a;b], avec f(a)*f(b) < 0 (f(a) et f(b) sont de signes contraires).
Méthode basée sur le théorème des valeurs intermédiaires : Comme f(a) et f(b) sont de signes contraires, f s'annule entre a et b.
On s'intéresse alors au milieu de l'intervalle
c = (a + b) / 2.
Soit f(c) est du même signe que f(a), on recommence alors avec l'intervalle [c, b]
Soit f(c) est du signe de f(b), on recommence alors avec l'intervalle [a,c]
Soit exceptionnellement, f(c) = 0, c'est fini, c'est OK.
Comme à chaque étape, la longueur de l'intervalle est divisée par 2, le moment va arriver où la longueur de l'intervalle va être inférieure à la précision cherchée epsilon, nous aurons la valeur de la solution de l'équation à epsilon près.
Ecrire une procédure dichotomie qui, à partir d'un intervalle [a;b] et d'une précision epsilon, vérifie si la méthode est applicable (a < b et f(a)*f(b) <0), et si c'est le cas rend x, la solution de l'équation f(x) = 0 (f supposée monotone sur l'intervalle)
J'ai pensé pour la programmation normale à un schéma itératif Tantque.
Tantque f(c) non égal à 0, faire
Si f(c) (Ici, il faudrait peut-être créer une fonction booléene TRUTH, qui rende VRAI si f(c) est du signe de a et FAUX si f(c) est du signe de b, non ?) TRUTH
Alors a:= c
Sinon b:=c
Fintantque
Je sais qu'il faut d'autres paramètres, qu'il faut définir et tout ça. Pourriez-vous m'aider à rédiger cette procédure en langage normal et en langage pascal, s'il vous plaît ?
Je vous remercie d'avance
BONNE JOURNEE ET BON COURAGE
-----