next up previous contents index
Next: Abréviations de type Up: No Title Previous: Récurrences

Arguments fonctionnels

  

Les fonctions étant des objets, comme les tableaux et d'autres structures de données, il est utile de pouvoir les passer en argument à des fonctions. C'est notamment indispensable pour écrire des algorithmes numériques généraux.

Par exemple, on écrira la fonction newton avec deux paramètres fonctionnels pour la fonction f dont on calcule un zéro et sa dérivée fprime :

double newton(double f(double), 
              double fprime(double), 
              int n, double x0) {
  if (n == 0) {
    return x0;
  } else {
    double x = newton(f,fprime,n-1,x0);

    return x - f(x)/fprime(x);
  }
}

Techniquement, la valeur qui est passée en argument à une fonction n'est pas l'objet fonctionnel (le code) lui-même, mais l'adresse de ce code en mémoire, exactement comme pour les tableaux.



Jean-Philippe Chancelier
9/29/1998