Les fonctions complexes - Maxicours

Les fonctions complexes

Objectifs
  • Comprendre la notion de fonction complexe en langage Python.
  • Écrire une fonction complexe.
  • Appeler une fonction complexe.
Points clés
  • Dans un programme, on peut avoir besoin de réutiliser une succession d’instructions. On définit alors des fonctions. Une fonction complexe possède plusieurs paramètres et appelle éventuellement d’autres fonctions. En général, la syntaxe pour écrire une telle fonction en langage Python est :
  • def <nom>(<paramètres>):
        <Instructions>
        return <résultats>
  • Comme pour les fonctions simples, il est possible d’appeler une fonction complexe en remplaçant ses paramètres par des arguments. Ces arguments sont soit des variables déjà affectées, soit des nombres.
  • Dans les instructions d’une fonction complexe, on peut faire appel à une autre fonction.
Pour bien comprendre
  • Variables numériques
  • Affectation d’une variable
  • Instruction de sortie
  • Instruction if
  • Boucle while
  • Fonction simple
1. Notion de fonction complexe
a. Principe
Dans un programme, on peut avoir besoin de réutiliser une succession d’instructions. On définit alors des fonctions. Une fonction complexe possède plusieurs paramètre et appelle éventuellement d’autres fonctions. En général, la syntaxe pour écrire une telle fonction est :
Langage naturel Langage Python
Fonction <nom> (<paramètres>)
   <Instructions>
   retourner <résultats>
Fin fonction
def <nom> (<paramètres>):
   <Instructions>
   return <résultats>
Remarque
La syntaxe est proche de celle des fonctions simples. Seul le nombre de paramètres change.
Exemple
La fonction mini prend deux nombres et retourne le plus petit des deux.
On définit la fonction mini, de paramètres a et b. Si a est inférieur à b, a est le plus petit des deux donc il est retourné par la fonction. Sinon, la fonction retourne b.
Comme pour les fonctions simples, il est possible d’appeler une fonction complexe en remplaçant ses paramètres par des arguments. Ces arguments sont soit des variables déjà affectées, soit des nombres.
b. Fonction appelant une autre fonction
Dans les instructions d’une fonction complexe, on peut faire appel à une autre fonction.
Exemple
La fonction petit_carre prend deux nombres a et b.  Elle prend le plus petit des deux et l’élève au carré.
On reprend la fonction mini de l’exemple précédent.


pc est définie comme le carré de mini(a,b), c’est-à-dire le carré du plus petit des nombres a et b.
2. Exemple de programme utilisant des fonctions complexes

On veut écrire un programme rec_pyth qui prend trois longueurs a, b et c et qui retourne la chaine de caractères “le triangle est rectangle” ou “le triangle n’est pas rectangle”.
Les trois valeurs peuvent être données dans n’importe quel ordre.

a. Objectif du programme

On veut vérifier si l’une des trois égalités a² + b² = c² ou a² + c² = b² ou b² + c² = a² est vraie.

b. Découpage du problème
  1. On définit une fonction triplet qui prend trois nombres a, b et c, avec c supérieur à a et b. Cette fonction rendra le booléen Vrai si a² + b² = c².
  2. Ensuite, on définit la fonction rec_pyth qui vérifie si a² + b² = c² ou a² + c² = b² ou b² + c² = a² est vraie. Si oui, la fonction retourne la chaine de caractères “le triangle est rectangle”, sinon “le triangle n’est pas rectangle”.
  3. On vérifie si le triangle est rectangle avec c la longueur de l'hypoténuse, puis s’il est rectangle avec b la longueur de l'hypoténuse, et enfin s’il est rectangle avec a la longueur de l'hypoténuse. Pour faire ces vérifications, on utilise la fonction triplet.
c. Rédaction du programme

On commence par rédiger le programme attendu en langage naturel.

D’abord, la fonction triplet :

Fonction triplet(a,b,c)
   Si a²+b²=c²
      retourner true
   sinon
     retourner false
   Fin Si
Fin Fonction
La fonction triplet prend les longueurs a, b, c des trois côtés, avec c le plus grand des trois.

Si l’égalité a² + b² = c² est vérifiée, la fonction retourne vrai, sinon faux.

Puis, la fonction rec_pyth :

Fonction rec_pyth(a,b,c)
    Si triplet(a,b,c) ou triplet(a,c,b) ou triplet(b,c,a)
       retourner ‘le triangle est rectangle’
   sinon
       retourner ‘le triangle n’est pas rectangle’
   Fin Si
Fin Fonction
La fonction rec_pyth prend les longueurs a, b, c des trois côtés.

triplet(a,b,c) ou triplet(a,c,b) ou triplet(b,c,a) permet de vérifier si l’une des trois égalités est vraie.

On l’écrit ensuite en langage Python :

Vous avez déjà mis une note à ce cours.

Découvrez les autres cours offerts par Maxicours !

Découvrez Maxicours

Comment as-tu trouvé ce cours ?

Évalue ce cours !

 

Des profs en ligne

quote blanc icon

Découvrez Maxicours

Exerce toi en t’abonnant

Des profs en ligne

  • 6j/7 de 17 h à 20 h
  • Par chat, audio, vidéo
  • Sur les matières principales

Des ressources riches

  • Fiches, vidéos de cours
  • Exercices & corrigés
  • Modules de révisions Bac et Brevet

Des outils ludiques

  • Coach virtuel
  • Quiz interactifs
  • Planning de révision

Des tableaux de bord

  • Suivi de la progression
  • Score d’assiduité
  • Un compte Parent