Site de Jean-Michel RICHER

Maître de Conférences en Informatique à l'Université d'Angers

Ce site est en cours de reconstruction certains liens peuvent ne pas fonctionner ou certaines images peuvent ne pas s'afficher.


Code

Fichier : ens/l1/python1/cc/derive.py




Warning: Undefined variable $highlight in /home/jeanmichel.richer/public_html/rendu_code.php on line 43
"""
    Calcul des valeurs et des dérivées de la fonction f(x) = (x^2 + x*sin(x)) / x!
"""

import math

def fact(x:int) -> int:
    """
        Calcul de la factorielle de x pour x entier
    """

    x = int(x) # il fallait utiliser la conversion ici
    if x == 0:
        return 1
    else:
        return x * fact(x-1)
   
def f(x):
    """
        definition de la fonction f(x)
        return (x**2 + x*math.sin(x)) / fact(x)
    """

    return (x**2 + x*math.sin(x)) / math.factorial(int(x))

def derive(i, h=1e-10):
    """
        Calcul de la dérivée de f en i
    """

    return (f(i+h) - f(i)) / h

def main():
    """
        Fonction principale
    """

    for i in range(0,10):
        print(f"{i} {f(i):2.5f} {derive(i):2.5f}")

if __name__ == "__main__":
    main()