Fiche de cours

Les fonctions en algorithmique- Terminale- Mathématiques

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

  • Fiche de cours
  • Quiz et exercices
  • Vidéos et podcasts
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))

Évalue ce cours !

 

Des quiz et exercices pour mieux assimiler sa leçon

La plateforme de soutien scolaire en ligne myMaxicours propose des quiz et exercices en accompagnement de chaque fiche de cours. Les exercices permettent de vérifier si la leçon est bien comprise ou s’il reste encore des notions à revoir.

S’abonner

 

Des exercices variés pour ne pas s’ennuyer

Les exercices se déclinent sous toutes leurs formes sur myMaxicours ! Selon la matière et la classe étudiées, retrouvez des dictées, des mots à relier ou encore des phrases à compléter, mais aussi des textes à trous et bien d’autres formats !

Dans les classes de primaire, l’accent est mis sur des exercices illustrés très ludiques pour motiver les plus jeunes.

S’abonner

 

Des quiz pour une évaluation en direct

Les quiz et exercices permettent d’avoir un retour immédiat sur la bonne compréhension du cours. Une fois toutes les réponses communiquées, le résultat s’affiche à l’écran et permet à l’élève de se situer immédiatement.

myMaxicours offre des solutions efficaces de révision grâce aux fiches de cours et aux exercices associés. L’élève se rassure pour le prochain examen en testant ses connaissances au préalable.

S’abonner

Des vidéos et des podcasts pour apprendre différemment

Certains élèves ont une mémoire visuelle quand d’autres ont plutôt une mémoire auditive. myMaxicours s’adapte à tous les enfants et adolescents pour leur proposer un apprentissage serein et efficace.

Découvrez de nombreuses vidéos et podcasts en complément des fiches de cours et des exercices pour une année scolaire au top !

S’abonner

 

Des podcasts pour les révisions

La plateforme de soutien scolaire en ligne myMaxicours propose des podcasts de révision pour toutes les classes à examen : troisième, première et terminale.

Les ados peuvent écouter les différents cours afin de mieux les mémoriser en préparation de leurs examens. Des fiches de cours de différentes matières sont disponibles en podcasts ainsi qu’une préparation au grand oral avec de nombreux conseils pratiques.

S’abonner

 

Des vidéos de cours pour comprendre en image

Des vidéos de cours illustrent les notions principales à retenir et complètent les fiches de cours. De quoi réviser sa prochaine évaluation ou son prochain examen en toute confiance !

S’abonner

Découvrez le soutien scolaire en ligne avec myMaxicours

Plongez dans l'univers de myMaxicours et découvrez une approche innovante du soutien scolaire en ligne, conçue pour captiver et éduquer les élèves de CP à la terminale. Notre plateforme se distingue par une riche sélection de contenus interactifs et ludiques, élaborés pour stimuler la concentration et la motivation à travers des parcours d'apprentissage adaptés à chaque tranche d'âge. Chez myMaxicours, nous croyons en une éducation où chaque élève trouve sa place, progresse à son rythme et développe sa confiance en soi dans un environnement bienveillant.

Profitez d'un accès direct à nos Profs en ligne pour une assistance personnalisée, ou explorez nos exercices et corrigés pour renforcer vos connaissances. Notre assistance scolaire en ligne est conçue pour vous accompagner à chaque étape de votre parcours éducatif, tandis que nos vidéos et fiches de cours offrent des explications claires et concises sur une multitude de sujets. Avec myMaxicours, avancez sereinement sur le chemin de la réussite scolaire, armé des meilleurs outils et du soutien de professionnels dédiés à votre épanouissement académique.

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

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