Les fonctions sont présentes dans tous les programmes. Il est pratiquement impossible d'écrire un programme qui effectue plusieurs tâches sans faire recours aux fonctions (pas impossible mais très difficile, pénible et coûteux).
Dans cet article, je vais essayer de présenter la notion de fonction en la rapprochant de la notion de fonction mathématique; une notion largement plus maîtrisée.
Une fonction mathématique à une seule variable peut être déclarée par la forme suivant :
Cette déclaration se divise en deux partie :
Un exemple concret :
Ainsi, cette fonction prend une variable réelle et renvoie une valeur réelle. Cette valeur est calculée comme étant le double du cub de la valeur prise en entrée.
Plus généralement, une fonction à n variables est déclarées de la manière suivante :
La première partie désigne un produit cartésien de plusieurs ensemble, c'est à dire, la fonction prend un t-uple en entrée et prend ses valeur dans un ensemble d'arrivé.
Un exemple concret :
Cette fonction prend un couple de nombres réels et prend ses valeurs dans l'ensemble des nombres réels. La deuxième partie montre la formule de calcule.
La deuxième partie peut être un peu plus compliqué qu'une formule unique. La fonction "valeur absolue", par exemple, est définie comme suit :
Ainsi, la formule varie selon la valeur de la variable.
Passons maintenant à la programmation.
La déclaration d'une fonction doit préserver, au moins, les notions requises par la déclaration mathématique. Autrement, la conception d'une fonction sera vraiment difficile à imaginer.
Ainsi, il faut garder :
En Pascal, la déclaration sera ainsi :
reprenons l'exemple d'une fonction à une seule variable :
La deuxième partie est facilement réalisable grace aux structures de contrôle offertes par le langage (le conditionnel et les boucles). Ainsi le code de la première fonction sera :
Et la fonction qui implémente la fonction "valeur absolue" sera :
Pour appeler une fonction, c'est comme appeler une personne :), c'est par son nom sans oublier de lui fournir les valeurs nécessaires en entrée (les paramètres). Un exemple complet :
Dans cet article, je vais essayer de présenter la notion de fonction en la rapprochant de la notion de fonction mathématique; une notion largement plus maîtrisée.
Une fonction mathématique à une seule variable peut être déclarée par la forme suivant :
Cette déclaration se divise en deux partie :
- La première partie désigne l'ensemble de départ; l'ensemble dans lequel la variable d'entrée va prendre ses valeurs.
- La deuxième partie désigne l'ensemble d'arrivé; l'ensemble dans lequel la fonction prend ses valeurs.
Un exemple concret :
Ainsi, cette fonction prend une variable réelle et renvoie une valeur réelle. Cette valeur est calculée comme étant le double du cub de la valeur prise en entrée.
Plus généralement, une fonction à n variables est déclarées de la manière suivante :
La première partie désigne un produit cartésien de plusieurs ensemble, c'est à dire, la fonction prend un t-uple en entrée et prend ses valeur dans un ensemble d'arrivé.
Un exemple concret :
Cette fonction prend un couple de nombres réels et prend ses valeurs dans l'ensemble des nombres réels. La deuxième partie montre la formule de calcule.
La deuxième partie peut être un peu plus compliqué qu'une formule unique. La fonction "valeur absolue", par exemple, est définie comme suit :
Ainsi, la formule varie selon la valeur de la variable.
Passons maintenant à la programmation.
La déclaration d'une fonction doit préserver, au moins, les notions requises par la déclaration mathématique. Autrement, la conception d'une fonction sera vraiment difficile à imaginer.
Ainsi, il faut garder :
- Les ensemble de départ et l'ensemble d'arrivé.
- La formule du calcul.
En Pascal, la déclaration sera ainsi :
function f([parametres : ensembles de depart]) : [ensemble d'arrivée];
reprenons l'exemple d'une fonction à une seule variable :
function f(x : Real) : Real;
La deuxième partie est facilement réalisable grace aux structures de contrôle offertes par le langage (le conditionnel et les boucles). Ainsi le code de la première fonction sera :
Function f(x : Real) : Real; Begin f := 2 * x * x * x; End;
Et la fonction qui implémente la fonction "valeur absolue" sera :
Function valeurAbsolue(n : Integer) : Integer; Begin If(n >= 0)Then valeurAbsolue := n Else valeurAbsolue := -1 * n; End;
Pour appeler une fonction, c'est comme appeler une personne :), c'est par son nom sans oublier de lui fournir les valeurs nécessaires en entrée (les paramètres). Un exemple complet :
Program ExempleFonctions; Function f1(x : Real) : Real; Begin f1 := 2 * x * x * x; End; Function f2(x, y : Real) : Real; Begin f2 := x * x + y * y; End; Function valeurAbsolue(n : Integer) : Integer; Begin If(n >= 0)Then valeurAbsolue := n Else valeurAbsolue := -1 * n; End; Begin WriteLn(f1(3.14):4:2); WriteLn(f2(2.5, 3.5):4:2); WriteLn(valeurAbsolue(-10)); End.