# -*- coding: utf-8 -*-
"""
Module 'tabuler_m'

Écrire une fonction maFonction() qui retourne 𝑓(𝑥) = 2𝑥3 + 𝑥 − 5

Écrire une procédure tabuler avec quatre paramètres : fonction, borneInf, 
borneSup et nbPas (où borneInf < borneSup et nbPas >= 2). 
Cette procédure affiche les valeurs résultant de l'appel à fonction, 
avec un 𝑥 variant de borneInf à borneSup, tous les nbPas. 

fichier : tabuler_m.py
auteur : Bob
"""

# Définition de fonction ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def maFonction(x):
    return 2 * x ** 3 + x - 5


def tabuler(fonction, borneInf, borneSup, nbPas):
    """
    Tabule les valeurs de <fonction>.
    """
    h = (borneSup - borneInf) / float(nbPas)  # incrément de tabulation
    x = borneInf
    print()
    while x <= borneSup:
        y = fonction(x)
        print(f"f({x:.2f}) = {y:.3f}")
        x += h
        
# Auto-test ===================================================================
if __name__=='__main__':
    print(maFonction(0))
    print(maFonction(1))
    
    tabuler(maFonction, 0, 1, 1)
