01 76 38 08 47
Logo Kartable
AccueilParcourirRechercheSe connecter

Pour profiter de 10 contenus offerts.

Logo Kartable
AccueilParcourirRechercheSe connecter

Pour profiter de 10 contenus offerts.

  1. Accueil
  2. Seconde
  3. Mathématiques
  4. Cours : Notion de fonction

Notion de fonction Cours

Sommaire

ILa fonction dans un programme informatiqueIILa syntaxe des fonctions en PythonIIIL'utilisation des fonctions en informatique
I

La fonction dans un programme informatique

En informatique, une fonction a un sens proche des fonctions en mathématiques, mais plus souple.

Fonction dans un programme informatique

Une fonction dans un programme informatique peut être considérée comme une boîte noire qui, à chaque entrée, fournit une sortie qui dépend de l'entrée.

définition fonction dans un programme informatique

En Python, on note deux nombres flottants x pour la taille en mètres et y pour le poids. Une fonction qui retournera l'indice de masse corporelle (IMC) calculera la grandeur y / x**2. x et y sont les entrées, y / x**2 est la sortie.

II

La syntaxe des fonctions en Python

Pour utiliser les fonctions en informatique, il faut d'abord les définir en programmant les instructions qu'elles exécutent au moment de l'appel.

Pour définir une fonction, il faut fournir à Python :

  • le nom de la fonction ;
  • les paramètres dont elle a besoin pour fonctionner, c'est-à-dire son entrée ;
  • ce qu'elle renvoie, c'est la sortie.

 

En Python, on utilise la structure suivante :

\verb+   def <nom de la fonction>(<liste des entrees>) :+
\verb+      <instructions>+
\verb+      return <la sortie>+

Il faut placer le groupe d'instruction avec une série d'espace ou une tabulation pour chaque instruction de la fonction. Il faut penser au deux-points à la fin de la ligne qui contient de mot-clé def. Le mot-clé return permet à Python de savoir quand sortir de la fonction, et avec quelle valeur.

La fonction suivante calcule l'aire d'un rectangle, dont la longueur et la largeur sont indiquées en entrée :

\verb+      def aire_rectangle(longueur,largeur):+
\verb+         resultat = longueur * largeur+
\verb+         return resultat+

Il est possible de ne pas avoir besoin de paramètres, on met alors des parenthèses vides.

La fonction suivante retourne un nombre entier au hasard entre 1 et 10 quand elle est appelée :

\verb+      def nombreAleatoire() :+
\verb+         return math.randint(1, 10)+

Pour écrire une fonction qui permet de simuler un lancer de pièce, on fait appel à la fonction \verb+randint(1{,}2)+ qui renvoie 1 ou 2 de façon aléatoire. On décide alors d'attribuer à 1 une pièce qui tombe sur la face « pile » et à « 2 » une pièce qui tombe sur la face « face ».

\verb+   import random+

\verb+def lancerPiece() :+
\verb+    resultat = random.randint(1{,}2)+
\verb++
\verb+    if resultat == 1 :+
\verb+        return "pile"+
\verb+    else :+
\verb+        return "face"+

Cette fonction ne prend donc pas de paramètres, et donne en sortie soit la chaîne de caractère « pile », soit la chaîne de caractère « face ».

Pour écrire une fonction qui effectue la simulation de 100 lancers de pièce, on écrit une boucle qui va compter le nombre de piles obtenus pour 100 lancers.

\verb+def echantillon100Lancers() :+
\verb+    nombreDePiles=0 # On initialise la variable nombreDePiles a 0 avant la boucle+
\verb++
\verb+    for i in range(100) : # On effectue 100 lancers de pieces+
\verb+        simulationLancer = lancerPiece()+
\verb++
\verb+        if simulationLancer == "Pile" :+
\verb|            nombreDePiles += 1|
\verb++
\verb+    return nombreDePiles+

On peut écrire une fonction qui calcule le nombre moyen de piles obtenus. On sait que l'on a effectué 100 lancers.

\verb+def frequenceDePile(nombreDePiles) :+
\verb+   return nombreDePiles/100.0 # Attention, si on met 100 sans decimale, +
\verb+   # la division sera considere comme entiere.+

III

L'utilisation des fonctions en informatique

Après avoir défini une fonction en Python, le développeur peut la réutiliser très simplement n'importe où dans son code.

Tant qu'une fonction n'est pas appelée dans un code, ses instructions ne sont pas exécutées. On doit donc faire appel à une fonction en utilisant son nom et en mettant entre parenthèses les paramètres demandés.

Le programme Python suivant affiche l'aire du rectangle de longueur et de largeur données par les variables \verb+x+ et \verb+y+ :

\verb+   def aire_rectangle(longueur, largeur):+
\verb+      return longueur * largeur+
\verb++
\verb+   x = 10+
\verb+   y = 5+
\verb++
\verb+   print("L'aire vaut", aire_rectangle(x, y))+

On peut aussi appeler une fonction en donnant directement les nombres qu'elle va utiliser sans passer par des variables :

\verb+   def aire_rectangle(longueur, largeur):+
\verb+      return longueur * largeur+
\verb++
\verb++
\verb+   print("L'aire vaut", aire_rectangle(10, 5))+

Les deux programmes vont retourner 50.

On cherche à vérifier s'il y a, en moyenne, autant de chance de tomber sur « pile » que sur « face » pour une pièce simulée dans un programme Python. Pour cela, on va simuler un grand nombre de lancers de pièce, sur plusieurs séries, puis calculer la moyenne du nombre de « pile » obtenus.

On peut utiliser les fonctions \verb+ lancerPiece() +, \verb+ echantillon100Lancers() + et \verb+ frequenceDePile() + définies dans la partie précédente.

\verb+for i in range(10) :+
\verb+    nombreDePiles = echantillon100Lancers() +
\verb++
\verb+    print(frequenceDePile(nombreDePiles))+

Voici un résultat obtenu :

0,51
0,49
0,53
0,5
0,62
0,41
0,47
0,52
0,41
0,36

L'ordre des paramètres est très important.

\verb+      def soustraction(a, b):+
\verb+         return a -b+
\verb++
\verb+      # Si on fait le test suivant :+
\verb+      print( soustraction(10, 5) == soustraction(5, 10))+

Python retournera \verb+False+.

Le nom des variables d'entrée ne concerne que l'intérieur de la fonction.

Dans le programme :

\verb+      def carre(x):+
\verb+         return x*x+
\verb++
\verb+      cote = 5+
\verb+      x=3+
\verb+      print(carre(cote))+

Le programme retourne \verb+25+ et n'est pas affecté par la ligne \verb+x=3+. Le nom \verb+x+ dans la fonction \verb+carre+ ne désigne pas la même variable que le nom \verb+x+ dans le programme principal.

Voir aussi
  • Exercice : Identifier les caractéristiques d'une fonction
  • Exercice : Identifier une syntaxe correcte de fonction
  • Exercice : Lire une fonction simple
  • Exercice : Écrire une fonction simple
  • Exercice : Lire une fonction complexe
  • Exercice : Modifier une fonction complexe
  • Exercice : Compléter une fonction complexe
  • Exercice : Appeler une fonction dans un algorithme
  • Problème : Renvoyer un nombre aléatoire à l'aide d'une fonction
  • Problème : Calculer la moyenne pondérée d'une série statistique à l'aide d'un algorithme
  • Problème : Calculer l'écart-type d'une série statistique à l'aide d'un algorithme
  • Problème : Écrire une fonction renvoyant le résultat numérique d’une expérience aléatoire
  • Problème : Écrire une fonction renvoyant le résultat numérique d’une répétition d’expériences aléatoires indépendantes
  • Quiz : Notion de fonction

Nos conseillers pédagogiques sont à votre écoute 7j/7

Nos experts chevronnés sont joignables par téléphone et par e-mail pour répondre à toutes vos questions.
Pour comprendre nos services, trouver le bon accompagnement ou simplement souscrire à une offre, n'hésitez pas à les solliciter.

support@kartable.fr
01 76 38 08 47

Téléchargez l'application

Logo application Kartable
KartableWeb, iOS, AndroidÉducation

4,5 / 5  sur  20256  avis

0.00
app androidapp ios
  • Contact
  • Aide
  • Livres
  • Mentions légales
  • Recrutement

© Kartable 2025