Lycée   >   Terminale techno   >   Mathématiques   >   Les fonctions en algorithmique- Terminale- Mathématiques

Les fonctions en algorithmique

  • Fiche de cours
  • Quiz
  • Profs en ligne
Objectifs
  • Comprendre et utiliser les fonctions en langage Python.
  • Identifier les entrées et les sorties d’une fonction.
  • Structurer un programme en utilisant des fonctions.
Points clés
  • Dans un programme, il arrive d’utiliser plusieurs fois la même succession d’instructions.
    Créer une fonction permet de réduire le nombre de lignes et d’éviter les erreurs en exécutant directement cette suite d’instructions.
  • Pour définir une fonction en langage Python, on écrit : def nom_de_fonction(a)a est la donnée d’entrée (appelée argument ou paramètre).
  • Une fonction peut avoir une seule, plusieurs ou aucune donnée(s) d’entrée.
  • Pour simplifier la programmation, une liste de fonctions a été prédéfinie. Ainsi, pour appeler le programme donnant l’arrondi, on utilise la fonction round(a). Une fonction prédéfinie est un objet informatique qui appelle un programme déjà existant.
Pour bien comprendre
  • Fonctions mathématiques, antécédents et images
1. Qu’est-ce qu’une fonction ?
a. Définition
Dans un programme, il arrive d’utiliser plusieurs fois la même succession d’instructions.
Créer une fonction permet de réduire le nombre de lignes et d’éviter les erreurs en exécutant directement cette suite d’instructions.

Même si le terme « fonction » est différent en mathématiques et en informatique, il y a une analogie entre les deux : on retrouve des données d’entrée et des données de sortie.
En mathématique, les données d’entrée sont les antécédents, les données de sortie sont les images.

Pour définir une fonction en langage Python, on écrit : def nom_de_fonction(a)a est la donnée d’entrée (appelée argument ou paramètre).
Parfois, les fonctions n’ont pas de donnée d’entrée.
Exemple
On crée une fonction double qui multiplie le nombre d’entrée par 2.
Mathématiquement, cela représente la fonction f(x) = 2x.
L1   def double(a):
L2      p=a*2
L3      return(p)
L4
L5   print(double(8))

À la ligne 3, return(p) indique ce que renvoie la fonction en sortie : p. Or, on a défini en ligne 2 que p vaut a × 2.
À la ligne 5, pour utiliser cette fonction, on remplace a par le nombre 8. La fonction renverra alors le nombre 16.
b. Données d’entrée d’une fonction
Une fonction peut avoir une seule, plusieurs ou aucune donnée(s) d’entrée.
Exemple de fonction sans donnée d’entrée
La fonction random() ne nécessite pas de donnée d’entrée, elle renvoie automatiquement un nombre réel compris entre 0 et 1.
L1   a=random.random()
L2   print(a)
L3   0.38233820555263487
Exemples de fonction avec une seule donnée d’entrée
  • La fonction sqrt(a) renvoie la racine carrée du nombre a.
    sqrt(2) donne la racine carrée du nombre 2 :
    L1   import math
    L2   math.sqrt(2)
    L3   1.4142135623730951

    Pour utiliser la fonction, il faut d’abord importer la librairie math (ligne 1) qui contient plusieurs fonctions mathématiques.
  • La fonction floor(a) donne la partie entière du nombre a.
    floor(101.265) donne la partie entière du nombre 101,265 :
    L1   math.floor(101.265)
    L2   101
Exemple de fonction avec plusieurs données d’entrée
La fonction randint(a,b) nécessite en entrée deux nombres entiers, entre lesquels la fonction tire aléatoirement un nombre entier.
randint(1,10) tire aléatoirement un nombre entier compris entre 1 et 10.
L1   import random
L2   a=random.randint(1,10)
L3   print(a)
L4   7
c. Utiliser une fonction pour simuler une expérience aléatoire
Exemple
On cherche à simuler plusieurs lancers d’une pièce équilibrée et à compter le nombre de « face » obtenus. On voudrait d’abord faire 10, 50 puis 100 lancers. On utilise un générateur aléatoire de nombres entiers entre 1 et 0. Si on obtient 1, c’est un « face » et si on obtient 0, c’est un « pile ».
Pour cela, on tape le programme suivant :
L1   n1=10
L2   n2=50
L3   n3=100
L4
L5   for i in range (n1):
L6      a=random.randint(0,1)
L7      if a==1:
L8         k=k+1
L9   print(k)
L10      
L11   for i in range (n2):
L12      b=random.randint(0,1)
L13     
if b==1:
L14        
l=l+1
L15  
print(l)
L16  
L17   for i in range (n3):
L18     
c=random.randint(0,1)
L19      if c==1:
L20         m=m+1
L21   print(m)

On observe que l’on répète 3 fois la même suite d’instructions, en changeant simplement le nombre de valeurs parcourues par i dans la boucle for (lignes 5, 11, 17).

Pour alléger le programme et éviter les erreurs, on peut remplacer cette suite d’instructions par une fonction aleatoire :
L1   def aleatoire(n):
L2      k=0
L3      for i in range (n):
L4         a=random.randint(0.1)
L5         if a==1:
L6           k=k+1
L7      return(k)
L8        
L9   print(aleatoire(10))
L10  print(aleatoire(50))      
L11  print(aleatoire(100))

On remarque que le programme prend un nombre de lignes bien plus petit grâce à cette fonction.
2. Effectuer des calculs dans Python
a. Rappel sur les opérateurs de base

Par défaut, un langage de programmation ne peut effectuer que des opérations élémentaires (addition, soustraction, division euclidienne…), grâce à des opérateurs :

Opérateur Description
a+b Somme de a et b
a–b Différence entre a et b
a*b Produit entre a et b (a × b)
a/b Quotient entre a et b
a%b Reste de la division euclidienne de a par b
a**b a à la puissance b

Les calculs plus complexes nécessitent l’utilisation de fonctions.

b. Fonctions prédéfinies dans Python

Pour déterminer, par exemple, l’arrondi d’un nombre, on pourrait au préalable définir un programme capable de donner cet arrondi. Ce serait long et fastidieux, d'autant que l’arrondi est une opération courante en mathématiques.

Pour simplifier la programmation, une liste de fonctions a été prédéfinie. Ainsi, pour appeler le programme donnant l’arrondi, on utilise la fonction math.round(a). Une fonction prédéfinie est un objet informatique qui appelle un programme déjà existant.
Fonction prédéfinie Description
math.sqrt(a) Donne la racine carrée de a ()
math.floor(a) Donne la partie entière de a
math.factorial(a) Donne factorielle a (a!)
Remarque
Pour utiliser ces fonctions prédéfinies, il faut d’abord importer le module math en utilisant la commande import math.
Exemple
On veut construire la fonction f : x ➝ .
On utilise pour cela la fonction prédéfinie math.sqrt():
L1   import math  
L2   def f (n):
L3      n=math.sqrt(n+4)
L4      return(n)


Il est également possible d’écrire la fonction de cette façon (à privilégier) :
L1   import math   
L2   def f (n):
L3      return(math.sqrt(n+4))

Comment as-tu trouvé ce cours ?

Évalue ce cours !

 

Question 1/5

La médiane de 6 notes est 13. Cela signifie que :

Question 2/5

On a obtenu la série statistique suivante :

Combien vaut la médiane ?

Question 3/5

On a obtenu la série ci-dessous :

Quelle est la médiane de cette série ?

Question 4/5

On a relevé les tailles en cm des élèves d’une classe :

 

Parmi les propositions suivantes, laquelle est vraie ?

Question 5/5

Les notes en français de deux classes littéraires sont données dans le tableau suivant :

Quelle est la note médiane ?

Vous avez obtenu75%de bonnes réponses !

Recevez l'intégralité des bonnes réponses ainsi que les rappels de cours associés :

Votre adresse e-mail sera exclusivement utilisée pour vous envoyer notre newsletter. Vous pourrez vous désinscrire à tout moment, à travers le lien de désinscription présent dans chaque newsletter. Pour en savoir plus sur la gestion de vos données personnelles et pour exercer vos droits, vous pouvez consulter notre charte.

Une erreur s'est produite, veuillez ré-essayer

Consultez votre boite email, vous y trouverez vos résultats de quiz!

Découvrez le soutien scolaire en ligne avec myMaxicours

Le service propose une plateforme de contenus interactifs, ludiques et variés pour les élèves du CP à la Terminale. Nous proposons des univers adaptés aux tranches d'âge afin de favoriser la concentration, encourager et motiver quel que soit le niveau. Nous souhaitons que chacun se sente bien pour apprendre et progresser en toute sérénité ! 

Fiches de cours les plus recherchées

Mathématiques

Introduction aux algorithmes- Terminale- Mathématiques

Mathématiques

Exploiter la relation y = f(x) d'une fonction- Terminale- Mathématiques

Mathématiques

Fonction logarithme décimal- Terminale- Mathématiques

Mathématiques

CanardMasqué présente : Les systèmes de numération

Mathématiques

Le vocabulaire des probabilités

Mathématiques

Utilisation du tableur pour des tableaux croisés

Mathématiques

Isoler une variable

Mathématiques

Appliquer une formule

Mathématiques

Coefficient directeur de la tangente à une courbe en un point

Mathématiques

Somme des termes d'une suite arithmétique- Terminale- Mathématiques

Mathématiques

Somme des termes d'une suite géométrique- Terminale- Mathématiques

Mathématiques

Fonctions exponentielles de base q

Mathématiques

La fonction inverse- Terminale- Mathématiques

Mathématiques

Ajustement affine