FEUILLE D'EX n° 9 bis Dichotomie

                                   Feuille d'exercices n° 9 bis              Dichotomie      

            Cours

                      Deux programmes qui s'appellent.    

                     Le premier programme définit une fonction f.

                     Le second programme calcule les valeurs de f 

                     pour des réels A et B


---------------------------------------------------------------------------------------  

   EXERCICE 1

       Soit la fonction polynômr f : x →  x2 + 2 x - 1   qui est strictement

      croissante et continue  sur l'intervalle [ 0 , + ∞ [.

       f( - 1 ) < 0  et  f( x ) tend vers + ∞   en + ∞.

       Ainsi, on sait que f( x )= 0 admet une unique solution α sur [ 0 , + ∞ [.

      Donner un script qui quand on entre les bornes A et B d'un intervalle fermé [ A ; B ]

       et la précision E indique, si possible, un intervalle d'amplitude E qui contient la solution α.

--------------------------------------------------------------------------------------------

           REPONSE:

      On peut considérer:

def f(x):
      return x**2+2*x-1
def dicho():
      A=input(" Donner la première borne A de l'intervalle [A ; B] : A = ")
      B=input(" Donner la seconde borne B de l'intervalle [A ; B]: B = ")
      E=input(" Quelle précision voulez-vous? E = ")
      if f(A)*f(B)>=0:
            print " la fonction f ne s'annule pas sur l'intervalle [",A,";",B,"]"
      else:
            while B-A>=E:
                    C=(A+B)/2.
                    if f(A)*f(C)<=0:
                         B=C
                    else:
                           A=C
            print " La fonction f s'annule dans l'intervalle [",A,";",B,"]"

                      On obtient par exemple

>>> dicho()
Donner la première borne A de l'intervalle [A ; B] : A = -1
Donner la seconde borne B de l'intervalle [A ; B]: B = 2
quelle précision voulez-vous? E = 0.1
La fonction f s'annule dans l'intervalle [ 0.40625 ; 0.5 ]
>>>

-----------------------------------------------------------------