Najah.
Mon plan de révision⚡ Défi flash

Informatique · Classes prépa (CPGE) — 1ère année — ECT

Les fonctions et la modularité

Le cours expliqué simplement, les questions que tous les élèves se posent et des exercices type examen national. Programme marocain, gratuit.

📘 Fiche de cours

L'essentiel du cours

Une fonction est un bloc d'instructions nommé, conçu pour effectuer une tâche spécifique. En Python, elle se définit par le mot-clé def.

  • Syntaxe : def nom_fonction(parametres):
  • Retour : L'instruction return permet de renvoyer une valeur. Si elle est absente, la fonction renvoie None.
  • Modularité : Permet de diviser un problème complexe en sous-problèmes plus simples.

Méthodes à maîtriser

  1. Définition et appel : Savoir passer des arguments et récupérer une valeur de retour.
  2. Gestion de la portée : Distinguer les variables locales (créées dans la fonction) des variables globales.
  3. Utilisation des paramètres par défaut : def f(x=0): permet d'appeler la fonction sans argument.

Exemples corrigés

Exemple 1 : Calcul de surface

def aire_rectangle(longueur, largeur):
    return longueur * largeur
# Appel
resultat = aire_rectangle(5, 3) # resultat vaut 15

Erreurs fréquentes

  • Oublier le : après la ligne de définition.
  • Confondre print() (affichage) et return (renvoi de valeur pour calcul).
  • Essayer d'accéder à une variable locale en dehors de sa fonction.

🌉 Jisr : les mots du chapitre FR ⇄ AR

Tu as appris les sciences en arabe ? Touche un mot pour voir sa traduction et une explication en darija.

La question que tu n'oses pas poser en classe ? Pose-la à UstadZéro jugement, même en darija, même à minuit. Il t'explique pas à pas et corrige ta démarche. Gratuit.

Défi flash : 4 questions

Sans compte

🎯 Les fonctions et la modularité

1/4

Quel est le mot-clé utilisé pour définir une fonction en Python ?

❓ Questions fréquentes

C'est quoi la différence entre print et return ?
  1. print() affiche une valeur dans la console pour l'utilisateur, mais ne permet pas au programme de réutiliser cette valeur.
  2. return renvoie une valeur au programme appelant, ce qui permet de la stocker dans une variable ou de l'utiliser dans un autre calcul.

💡 À retenir : print est pour l'affichage, return est pour le traitement des données.

Chno hiya l'utilité dyal l'modularité f l'code ?
  1. La modularité permet de découper un gros programme en petites fonctions indépendantes.
  2. Cela facilite la correction des erreurs (débogage) et la réutilisation du code dans d'autres projets.

💡 À retenir : Diviser pour mieux régner : un code modulaire est plus lisible et plus facile à maintenir.

Kifach n7seb l'valeur dyal wahed l'variable li kayna f l'fonction mn barra ?
  1. Tu ne peux pas accéder directement à une variable locale définie dans une fonction depuis l'extérieur.
  2. Pour récupérer cette valeur, tu dois utiliser return à la fin de ta fonction.
  3. Ensuite, tu stockes le résultat de l'appel dans une variable globale : resultat = ma_fonction().

💡 À retenir : La fonction doit "donner" la valeur via return pour qu'elle soit accessible à l'extérieur.

Est-ce qu'une fonction peut appeler une autre fonction ?

Oui, c'est le principe même de la modularité. Une fonction peut appeler n'importe quelle autre fonction définie précédemment dans le programme.

💡 À retenir : L'imbrication d'appels de fonctions est une pratique standard pour construire des algorithmes complexes.

Pourquoi mon code affiche None quand j'appelle ma fonction ?

Cela arrive généralement parce que ta fonction ne contient pas d'instruction return, ou que le return n'est pas atteint par le flux d'exécution.

💡 À retenir : Si une fonction ne renvoie rien explicitement, Python renvoie None par défaut.

Est-ce qu'on peut modifier une variable globale à l'intérieur d'une fonction ?

Oui, en utilisant le mot-clé global suivi du nom de la variable au début de la fonction. Cependant, il est fortement déconseillé de le faire car cela rend le code difficile à suivre.

💡 À retenir : Privilégiez toujours le passage de paramètres et le return plutôt que l'usage de variables globales.

Comment gérer plusieurs valeurs de retour ?

En Python, tu peux renvoyer plusieurs valeurs en les séparant par des virgules : return a, b. La fonction renverra alors un tuple.

💡 À retenir : On peut récupérer ces valeurs avec une affectation multiple : x, y = ma_fonction().

Wach momkin nkhli l'fonction bla paramètres ?

Oui, tu peux définir une fonction sans paramètres : def ma_fonction():. Elle effectuera simplement les instructions qu'elle contient.

💡 À retenir : Les parenthèses restent obligatoires même si elles sont vides.

C'est quoi un paramètre par défaut ?

C'est une valeur attribuée à un paramètre lors de la définition : def saluer(nom="Inconnu"):. Si l'utilisateur n'envoie pas d'argument, la valeur par défaut est utilisée.

💡 À retenir : Cela rend la fonction plus flexible et évite les erreurs si l'argument est omis.

Est-ce qu'une fonction doit obligatoirement être placée en haut du fichier ?

Oui, en Python, une fonction doit être définie avant d'être appelée, sinon le programme générera une erreur NameError.

💡 À retenir : L'ordre de lecture du script est séquentiel, la définition précède l'utilisation.

Peut-on mettre des conditions ou des boucles dans une fonction ?

Absolument. Une fonction peut contenir toute la logique de programmation apprise précédemment (if, for, while).

💡 À retenir : La puissance des fonctions réside dans leur capacité à encapsuler des algorithmes complets.

Comment savoir si une fonction est bien écrite ?

Une bonne fonction doit faire une seule chose, avoir un nom explicite (ex: calculer_moyenne au lieu de f) et être documentée.

💡 À retenir : Une fonction courte et spécialisée est toujours meilleure qu'une fonction longue qui fait tout.

✍️ Exercices type examen national

Exercice 1

Écrire une fonction est_pair(n) qui prend un entier n en paramètre et retourne True si n est pair, et False sinon.

Voir la correction détaillée : inscription gratuite

Exercice 2

Écrire une fonction somme_liste(L) qui prend une liste de nombres en paramètre et retourne la somme de ses éléments.

Voir la correction détaillée : inscription gratuite

Exercice 3

Écrire une fonction calcul_imc(poids, taille) qui retourne l'IMC (poids / taille²). Si l'IMC est supérieur à 25, la fonction doit aussi afficher "Surpoids".

Voir la correction détaillée : inscription gratuite

Un prof de Informatique pour aller plus loin

Les cours du soir avec des profs vérifiés arrivent : inscris-toi pour être prévenu(e) en premier.

Être prévenu(e) gratuitement

Autres chapitres de Informatique