Programmation fonctionnelle

Définir une fonctionnelle en Python

Il s'agit de définir la fonctionnelle suivante en Python, nommée derive()

$f \to f'$

qui à toute fonction $f$ dérivable sur un intervalle associe sa fonction dérivée $f'$

Où $f'$ est définie par $f'(x) \simeq \dfrac{f(x+h)-f(x)}{h}$ avec $h$ un réel "petit" par exemple $h = 10^{-6}$

On définira une fonction derive(f) où f est une fonction

  1. Compléter le code suivant avec une lambda fonction de Python

        
            def derive(f):
                h = 10**(-6)
                return .....
    
    
  2. Essayer et vérifier avec $f(x) = x^2$ (proposer une méthode de vérification)
  3. Essayer et vérifier avec $g(x) = \sin(x)$
  4. Exécuter derive("Python"). Que se passe-t-il ? Comment y remédier ?

Définir la même fonctionnelle avec OCaml

  1. Compléter la phrase suivante puis l'évaluer

        
            let derive(f : ....) = 
               let h = 1e-06 in
               function ...........
    
    

    let h = 1e-06 in définit localement h comme un float valant $10^{-6}$ dans la fonction derive()

  2. Essayer et vérifier avec $f(x) = x^2$
  3. Essayer et vérifier avec $g(x) = \sin(x)$
  4. Evaluer derive("Python")