Réponses
- 1) f(1)=−1<0<7=f(2)
- 2) f(1,5)=1,875 : 1<x<1,5
- 3) [1,125 ; 1,25]
- 4) 10 étapes
- 5) `if f(a)*f(m) < 0: b = m` sinon `a = m` ; affiche ≈[1,2109 ; 1,2188]
1) f(1)=1+1−3=−1 et f(2)=8+2−3=7. La fonction f est une somme de fonctions continues, donc elle est continue sur [1 ; 2], et elle change de SIGNE entre les deux bornes. Sa courbe passe donc d'un côté à l'autre de l'axe des abscisses, ce qui garantit l'existence d'au moins une solution dans ]1 ; 2[. Comme f est de plus strictement croissante, cette solution est unique.
2) f(1,5)=3,375+1,5−3=1,875, qui est POSITIF, du même signe que f(2). La solution se trouve donc du côté où le signe change, c'est-à-dire entre 1 et 1,5 : 1<x<1,5. L'amplitude est passée de 1 à 0,5.
3) ÉTAPE 2 : f(1,25)=1,953125+1,25−3=0,203125>0, donc la solution est dans [1 ; 1,25]. ÉTAPE 3 : f(1,125)=1,423828+1,125−3=−0,451172<0, donc la solution est dans [1,125 ; 1,25], d'amplitude 0,125. À chaque étape, on garde la moitié où f change de signe.
4) L'amplitude après n étapes vaut 2n1. On cherche 2n1<0,001, soit 2n>1000. Comme 29=512 et 210=1024, il faut n=10 étapes. Le nombre d'étapes est connu D'AVANCE et ne dépend pas de la fonction, ce qui est la grande force de la méthode.
5) La ligne manquante choisit la moitié à conserver : si f(a) et f(m) sont de signes contraires, la solution est à gauche et l'on remplace b par m ; sinon on remplace a par m. En Python, cela s'écrit if f(a)*f(m) < 0: b = m suivi de else: a = m. Avec une précision de 0,01, il faut 2n>100, donc 7 étapes, et le programme affiche l'encadrement [1,2109 ; 1,2188] environ, dont le centre 1,2148 approche la solution exacte 1,2134.