Fonction informatique

Fonction informatique
Page d'aide sur l'homonymie Pour les articles homonymes, voir Fonction.

En informatique, une fonction est une portion de code représentant un sous-programme, qui effectue une tâche ou un calcul relativement indépendant du reste du programme. En programmation impérative, une fonction est une séquence d'instructions réalisant une certaine tâche. En programmation fonctionnelle, la fonction est l'objet de base, qui permet de découper le problème global en plus petits calculs. On utilise parfois le synonyme routine, notamment à propos des fonctions bas-niveau des systèmes d'exploitation. Une fonction a une entrée (les arguments, ou paramètres qu'on lui donne), exécute un travail sur ces arguments, et, généralement, retourne une valeur (la sortie). Quand une fonction prend des arguments en entrée, elle en prend une copie, ce ne sont pas les véritables variables qui le sont. Pour ce faire, les fonction demandent l'adresse mémoire des variables, plutôt que leurs valeurs. C'est un pointeur (ou référence en C++ ou PHP), dans ce cas, la fonction modifie la variable à l'intérieur d'elle-même et retourne généralement un code d'erreur, ou 0, si tout c'est bien terminé. Une fonction peut aussi se passer de renvoyer une valeur (elle est de type 'void' en C/C++ ).

Sommaire

Anatomie d'une fonction

Éléments constitutifs d'une fonction :

  • Nom de la fonction
  • Noms et/ou types des paramètres
  • Type de la valeur de retour
  • Délimitation du bloc de code de la fonction
  • Définition de la valeur de retour

Selon le langage considéré, tous ces éléments n'apparaissent pas forcément.

int valeur_max(int a, int b)
{
    if (a > b)
        return a;
    else
        return b;
}
...
printf("%d",valeur_max(123,456));
Cette fonction écrite en C a pour nom valeur_max, pour paramètres a et b qui sont de type int et retourne un int. Les accolades { et } délimitent le bloc d'instructions de la fonction. On remarque que le nom de la fonction décrit son résultat : elle retourne la valeur maximale entre a et b. Ce n'est pas une obligation du langage, mais constitue une bonne pratique de programmation : la fonction pourrait s'appeler tout à fait autrement, son comportement est déterminé par les instructions à l'intérieur des accolades. Cependant, dans certains langages, le nom de la fonction a un sens. Par exemple, en C++, les constructeurs doivent porter comme nom le nom de la classe.

Plus bas, on voit comment la fonction peut être utilisée (on parle « d'appel de fonction ») : valeur_max(123, 456). Le résultat de cet appel est 456.

Caractéristiques des fonctions

  • Une fonction qui n'a pas d'effets de bord, et qui renvoie systématiquement la même valeur de retour pour les mêmes paramètres, est une fonction pure. C'est une fonction au sens mathématique du terme.
  • Une fonction qui ne renvoie aucun résultat est une procédure. Certains langages de programmation font la différence entre fonction et procédure (par exemple en Pascal), et d'autres pas (par exemple C).
  • Une fonction qui n'a pas de nom est une fonction anonyme. Tous les langages ne permettent pas d'écrire des fonctions anonymes. Exemple de fonction anonyme en haskell qui renvoie le nombre passé en argument multiplié par 2 : (\x -> 2*x).
def pourcentages(a,b,c):
    def pc(x):
        return (x*100.0)/(a+b+c)
    return pc(a),pc(b),pc(c)

Comparaison avec les fonctions mathématiques

Une fonction en informatique se distingue principalement de la fonction mathématique du fait de l'interaction entre la fonction et son environnement.

En mathématiques, le résultat d'une fonction est unique lorsque la valeur de ses arguments sont fixés. En informatique ce n'est pas le cas général : deux appels successifs à une fonction peuvent produire des résultats différents. Le respect de cette propriété est appelée la transparence référentielle.

En outre, en plus de calculer un résultat, la fonction informatique peut, agir sur son environnement (par exemple afficher un message). On appelle cela un effet de bord ou effet secondaire. Une fonction qui n'a pas d'effet de bord est appelée une fonction pure.

Programmation fonctionnelle

Article détaillé : Programmation fonctionnelle.

La programmation fonctionnelle est un paradigme de programmation qui considère le calcul en tant qu'évaluation de fonctions mathématiques et rejette le changement d'état et la mutation des données. Elle souligne l'application des fonctions, contrairement au modèle de programmation impérative qui met en avant les changements d'état.

En supprimant la mutation des données, la sémantique des langages fonctionnels tend à se rapprocher du modèle mathématique. Les types sont ainsi des ensembles d'arrivée et de départ. Une fonction est alors une application d'un type vers un autre.

Bibliothèque logicielle

Article détaillé : Bibliothèque logicielle.

Une bibliothèque logicielle est une collection de fonctions.


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Fonction informatique de Wikipédia en français (auteurs)

Игры ⚽ Нужен реферат?

Regardez d'autres dictionnaires:

  • Fonction (informatique) — Fonction informatique Pour les articles homonymes, voir Fonction. En informatique, une fonction est une portion de code représentant un sous programme, qui effectue une tâche ou un calcul relativement indépendant du reste du programme. En… …   Wikipédia en Français

  • Fonction Pure — Une fonction pure est une fonction informatique qui retourne toujours la même valeur pour les mêmes paramètres. C est un composant de la transparence référentielle. Exemples de fonctions pures Les fonctions arithmétiques sont l archétype des… …   Wikipédia en Français

  • fonction — ● n.f. ● 1. ►PROG Ensemble d ordres (pouvant être un seul ordre) accomplissant une tâche particulière. Une fonction peut prendre des arguments, et en général, elle renvoie un résultat (sinon, en l absence de résultat renvoyé, c est une procédure) …   Dictionnaire d'informatique francophone

  • Fonction pure — Une fonction pure est une fonction informatique qui retourne toujours la même valeur pour les mêmes paramètres. C est un composant de la transparence référentielle. Exemples de fonctions pures Les fonctions arithmétiques sont l archétype des… …   Wikipédia en Français

  • Fonction Récursive — Voir « récursif » sur le Wiktionnaire …   Wikipédia en Français

  • Fonction recursive — Fonction récursive Voir « récursif » sur le Wiktionnaire …   Wikipédia en Français

  • Informatique Décisionnelle — Pour les articles homonymes, voir DSS et BI. L’informatique décisionnelle (Management du système d information, en anglais : DSS pour Decision Support System ou encore BI pour Business Intelligence) désigne les moyens, les outils et les… …   Wikipédia en Français

  • Informatique decisionnelle — Informatique décisionnelle Pour les articles homonymes, voir DSS et BI. L’informatique décisionnelle (Management du système d information, en anglais : DSS pour Decision Support System ou encore BI pour Business Intelligence) désigne les… …   Wikipédia en Français

  • Fonction De Rappel — En informatique, une fonction de rappel (callback en anglais) est une fonction qui est passée en argument à une autre fonction. Cette dernière peut alors faire usage de cette fonction de rappel comme de n importe quelle autre fonction, alors qu… …   Wikipédia en Français

  • Fonction Imbriquée — Une fonction imbriquée ou fonction interne est une fonction encapsulée dans une autre. Elle ne peut être appelée que par la fonction englobante ou par des fonctions imbriquées directement ou non dans la même fonction englobante. En d autres… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”