Précondition et postcondition
Exercice de TD · niveau 2 · NSI (terminale), chapitre 10 — Modularité, mise au point et tests
É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.")Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.