heron.py

Created by bhenry1

Created on June 24, 2023

1.08 KB


def heron(a, n):
    """renvoie une approximation de la racine carrée de a
    après n boucles de calculs"""
    x=1 # on peut partir de 1 pour n'importe quel nombre a
    for i in range (n):
        x=(x+a/x)/2
    return x
    
def hero(a, p):
    """renvoie une approximation de la racine carrée de a
    avec au minimum une précision p
    n est le nombre de boucles effectuées"""
    x=1
    x_= 0
    n=0
    while abs(x-x_)>p :
        x_=x
        x=(x+a/x)/2
        n +=1
    return x,n
    
def rac_carr_heron(a, p):
    x = 1                # on part de x=1
    y = (x+a/x)/2        # On affecte à y la moyenne de x et de a/x
    b = 0                # b va compter le nombre de boucles efectuées
    while abs(x-y) > p:  # Tant que l'écart entre 2 valeurs successives dépasse la précision p  
        x = y            # on remplace la valeur de x par celle de y  
        y = (x+a/x)/2    # On affecte à y la moyenne de x et de a/x
        b = b + 1        # À chaque boucle, on ajoute 1 à b
    return f"En {b} boucles, {x} et {y} encadrent √{a} avec la précision {p}"