Bonsoir,
j'ai fait cette algorithme dans le but de trouver un arrondie de la racine carré.
Comme indiqué par le commentaire; en remplaçant a+1 par a et qu'on change la variable globale a=2 en a=9
on a alors une boucle infini, pourquoi ?
Merci beaucoup !
j'ai fait cette algorithme dans le but de trouver un arrondie de la racine carré.
Code:
a=2
e=10**(-15)
def f(x):
return(x**2-a)
def Err(x):
return(f(x)/a)
def dicho():
bg,bd= a,1
if a>1 :
bd=a+1 # si on remplace ici a+1 par 1, on a une boucle infini mais seulement pour la valeur a= 9 ?
bg=1
elif a==1:
return (1)
while abs(Err(bd))>e:
if Err((bd+bg)/2)*f(bg)<0:
bd=(bd+bg)/2
else :
bg=(bd+bg)/2
return (bd)Comme indiqué par le commentaire; en remplaçant a+1 par a et qu'on change la variable globale a=2 en a=9
on a alors une boucle infini, pourquoi ?
Merci beaucoup !
Aucun commentaire:
Enregistrer un commentaire