# -*- coding: utf-8 -*-

#-------------------------------------------------------------------------------
# Nom du programme : Méthode du Balayage
# Version :
# Objectifdu programme :
#
# Auteur:
# date de création :
#-------------------------------------------------------------------------------


#-------------------------------------------------------------------------------
#Importation des bibliothèques nécessaires au fonctionnement du programme
#-------------------------------------------------------------------------------

#Bibliothèque mathématiques
#https://docs.python.org/fr/3.5/library/math.html
from math import*

#-------------------------------------------------------------------------------
#Création des fonctions Python nécessaires au fonctionnement du programme
#-------------------------------------------------------------------------------

#Fonction numérique que l'on étudie
def f(x):
    y=x**3+x-14
    return y

#Fonction qui donne l'intervalle d'amplitude h ...
#... qui contient la solution de l'équation f(x)=0
def dichotomie(borneInf,borneSup,amplitude,k):
    a=borneInf
    b=borneSup
    e=amplitude
    while b-a>e:
        m=(a+b)/2
        if (f(a)-k)*(f(m)-k)>0:
            a=m
        else:
            b=m
    return a,b

#--------------------------------------------------------------------------
#Programme principal
#--------------------------------------------------------------------------


k=2
a=1
b=5
e=0.03125
bornes=dichotomie(a,b,e,k)
print("L'intervalle d'amplitude ",e," et qui contient la solution de l'équation f(x)=",k," est : ")
print(']',bornes[0],' ; ',bornes[1],'[')  #ATTENTION AUX RESULTATS OBTENUS




