Bonsoir,
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 !
-----