NSI · Première · Génie logiciel
Fonctions et structure du code
Découper pour mieux maîtriser.
En bref
Une fonction nomme un traitement pour le réutiliser.
Une fonction nomme un traitement pour le réutiliser. C'est le premier outil de lutte contre la complexité.
Pourquoi découper
| Le bénéfice | Ce qu'il permet |
|---|---|
| Réutiliser | Une correction faite une fois vaut partout |
| Tester | Chaque morceau séparément |
| Lire | Un nom bien choisi remplace dix lignes à déchiffrer |
| Répartir | Le travail entre plusieurs personnes |
Paramètres et retour
| Le mot | Ce qu'il désigne |
|---|---|
| Paramètre | Le nom figurant dans la définition |
| Argument | La valeur passée à l'appel |
| Retour | La valeur rendue ; en Python, None si aucune |
Erreur classique : afficher au lieu de retourner. Une fonction qui affiche ne peut pas être réutilisée dans un calcul — la valeur est partie à l'écran, elle n'est plus disponible.
Portée des variables
| La variable | Où elle existe | Ce qu'elle vaut |
|---|---|---|
| Locale | Dans la fonction seulement | Le bon usage |
| Globale | Partout | Elle crée des dépendances invisibles entre parties du programme |
Une fonction doit recevoir ce dont elle a besoin par ses paramètres et rendre son résultat par son retour.
Les effets de bord
Une fonction a un effet de bord si elle modifie autre chose que sa valeur de retour : une variable globale, une liste reçue en argument, un fichier.
Ce n'est pas interdit, mais cela doit être voulu et documenté. Une fonction qui modifie sournoisement la liste qu'on lui passe produit des bugs très difficiles à localiser.
Spécifier une fonction
| La question | Ce qu'elle précise |
|---|---|
| Que fait-elle ? | Son objet, en une phrase |
| Que reçoit-elle ? | Types et préconditions |
| Que rend-elle ? | Type et signification |
| Qu'est-ce qui est garanti ? | Les postconditions |
En Python, tout cela s'écrit dans la docstring, la chaîne placée juste sous la ligne de définition.
Les assertions vérifient une précondition à l'exécution : elles arrêtent le programme au bon endroit, plutôt que de le laisser produire un résultat faux dix étapes plus loin.
Teste-toi
6 questions pour vérifier
Touche une réponse : la correction s’affiche tout de suite.
1.Quelle est la différence entre un paramètre et un argument ?
2.Pourquoi vaut-il mieux retourner une valeur que l’afficher ?
3.Une variable définie dans une fonction est visible à l’extérieur.
4.Qu’est-ce qu’un effet de bord ?
5.Que contient une spécification complète de fonction ?
6.À quoi sert une assertion ?
0 / 6 questions
Dans l’app, ce chapitre a son quiz complet, chronométré, et tes erreurs reviennent au bon moment pour ne plus les refaire.

La fiche de révision, sur une page
Tout « Fonctions et structure » sur une seule page A4 illustrée : l’essentiel, les pièges et un mini-test. Elle se débloque dans l’app avec des gemmes — et ton compte gratuit en offre assez pour tes trois premières fiches.

