
ULUMINE · Numérique et sciences informatiques (NSI) · Terminale
Modularité, paradigmes et mise au point des programmes
Découper en modules, choisir un paradigme, tester et déboguer : les outils pour écrire des programmes fiables.
Modules
- import math → math.sqrt(16) ; from math import sqrt → sqrt(16).
- API : fonctions documentées (docstring, help).
- if __name__ == "__main__": code exécuté seulement si le fichier est lancé directement.
Paradigmes
- Impératif : instructions et modifications d’état.
- Fonctionnel : fonctions pures, fonctions en paramètre, lambda.
- Objet : classes, attributs, méthodes.
Mise au point
- Erreurs : SyntaxError, IndexError, KeyError, TypeError, ZeroDivisionError, NameError.
- assert condition : AssertionError si la condition est fausse.
- Tester cas courants, cas limites (vide, 0, bornes) et cas particuliers.
- Problème de l’arrêt : indécidable (Turing, 1936).
Pièges à éviter
- Croire que des tests réussis prouvent la correction d’un programme.
- Initialiser un maximum à 0 au lieu du premier élément.
- Oublier le préfixe math. après import math.
- Écrire une fonction avec effet de bord sans le documenter.