# -*- coding: utf-8 -*-
#Liste des coefficients directeurs des sécantes pour un pas donné

# On définit la fonction f

def f(x):
    return 3*x**2 - 2*x + 1

# On choisit une abscisse dans l'ensemble de définition de f.
# On choisit le nombre de coefficient directeur à calculer (étape)
# La fonction renvoie les coefficients directeurs des sécantes pour des abscisses
# inférieurs à l'abscisse.

def coeff_directeur_secante_inf(point,etape) :
    pas = 1/etape
    liste_coeff_directeur = []
    début = point - 1
    for i in range(etape):
        # utilisation de la méthode <nom>.append pour ajouter un élément dans la liste.
        liste_coeff_directeur.append((f(point) - f(début))/(point - début))
        début = début + pas
        
    return liste_coeff_directeur

# On choisit une abscisse dans l'ensemble de définition de f.
# On choisit le nombre de coefficient directeur à calculer (étape)
# La fonction renvoie les coefficients directeurs des sécantes pour des abscisses
# supérieurs à l'abscisse.

def coeff_directeur_secante_sup(point,etape) :
    pas = 1/etape
    liste_coeff_directeur = []
    début = point +1
    for i in range(etape):
        liste_coeff_directeur.append((f(point) - f(début))/(point - début))
        début = début - pas
        
    return liste_coeff_directeur


# un exemple d'utilisation 
print(coeff_directeur_secante_inf(1,10))
print(coeff_directeur_secante_sup(1,10))

