Sagot :
Bonjour
Le balayage est une méthode pour trouver une valeur approchée de la solution d'une équation f(x)=0 qui est particulièrement facile à implémenter sur un tableur ou sur une calculatrice. Elle consiste en la démarche suivante. On veut obtenir un encadrement à 10-p près de la solution d'une équation f(x)=0, avec f continue, dont on sait qu'elle est comprise entre les deux entiers a et b. On effectue les opérations suivantes :
1 - on commence par balayer l'intervalle [a,b] avec un pas de 1. C'est-à-dire qu'on calcule f(a), f(a+1), f(a+2),... On s'arrête dès qu'on a trouvé deux entiers consécutifs n et n+1 pour lesquels f(n) et f(n+1) sont de signes opposés. On sait alors que f(x)=0 admet une solution dans l'intervalle [n,n+1].
2 - on balaie ensuite l'intervalle [n,n+1] avec un pas de 0,1. On calcule donc f(n), f(n+0,1),f(n+0,2),... et on s'arrête dès qu'on a trouvé p de sorte que f(n+0,p) et f(n+0,p+0,1) sont de signes opposés.
3 - on continue en balayant l'intervalle [n+0,p;n+0,p+0,1] avec un pas de 0,01
et ainsi de suite...
Le programme :
# Définition de la fonction
def f(x):
return x*x*x - 3*x + 1
x0=float(input("x0= "))
pas=float(input("pas= "))
x=x0
while ( ( f(x) >0 and f(x+pas) >0) or ( f(x) <0 and f(x+pas) <0) ) :
x=x+pas
print("Encadrement:")
print( x - pas, " < alpha < ", x )
Exécution
x0= -10
pas= 0.001
Encadrement:
-1.8810000000000064 < alpha < -1.8800000000000066
x0= -1.5
pas= 0.001
Encadrement:
0.3459999999999461 < alpha < 0.3469999999999461
x0= 0.5
pas= 0.0001
Encadrement:
1.5318999999998864 < alpha < 1.5319999999998863
Bon courage