Fonctions, procédures et passage de paramètres
Les fonctions et procédures servent à découper un programme en modules réutilisables, plus lisibles et plus faciles à tester.
Découpage modulaire
- Découper le programme en tâches cohérentes.
- Favoriser réutilisation et lisibilité.
Signature et contrat
Fonction
- Rend une valeur.
- Peut aussi produire des effets de bord.
- Sa valeur de retour fait partie de l’usage.
Procédure
- N’a pas de valeur de retour.
- Décrit surtout une action.
- L’appel sert à exécuter une tâche.
| Élément | Rôle |
|---|---|
| Signature | Nom et paramètres. |
| Valeur de retour | Résultat fourni à l’appel. |
Signature annonce l’interface ; le contrat précise l’usage attendu.
Paramètres et passage
- Paramètres formels : variables de la définition.
- Paramètres effectifs : valeurs données à l’appel.
On appelle echange(a, b) avec a = 3 et b = 5.
- Par valeur, la fonction reçoit deux copies.
- Modifier les copies ne change pas
anib.
La différence essentielle est la possibilité ou non de changer les données initiales.
Portée des variables
Variables locales
- Visibles dans le sous-programme.
- Créées à l’entrée du bloc.
- Disparaissent à la sortie.
Variables globales
- Visibles plus largement.
- Partagées entre plusieurs fonctions.
- Favorisent les effets de bord.
Une variable locale masque souvent une globale homonyme
Tests et vérification
- 1
Choisir un cas simple et représentatif.
- 2
Vérifier l’entrée et la sortie attendue.
- Différencie paramètre formel et paramètre effectif.
- Explique la portée d’une variable locale.
- Un bon sous-programme a une responsabilité claire.
- La signature et le contrat cadrent son usage.
