NSI (terminale) · Chapitre 10 · Exercice de TD
Précondition et postcondition
Modularité, mise au point et tests · niveau 2
Énoncé
Précondition et postcondition.
Écrire factorielle(n) avec vérification de la précondition par assertion, et un test vérifiant la postcondition factorielle(n) == n * factorielle(n-1).
Corrigé
def factorielle(n):
"""Renvoie n! (factorielle de n).
Precondition : n est un entier >= 0.
"""
assert n >= 0, "n doit etre positif ou nul"
resultat = 1
for k in range(2, n + 1):
resultat *= k
return resultat
# Jeu de tests
assert factorielle(0) == 1 # cas limite
assert factorielle(1) == 1
assert factorielle(5) == 120
# Verification de la relation de recurrence
for n in range(1, 8):
assert factorielle(n) == n * factorielle(n - 1)
print("Exercice 5 : tous les tests passent.")100 % gratuit
Essaie le suivant avec le tuteur
- L'exercice suivant avec le tuteur, sans compte : il guide pas à pas, sans donner la réponse
- 8 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre : 2 minutes d'écoute sans compte
Sans compte : le cours, le premier QCM, 2 minutes de podcast et de vidéo et un exercice avec le tuteur. Pour tout le reste : inscription gratuite en 30 secondes, sans carte bancaire.