Adloun

NSI (terminale) · Chapitre 10 · Exercice d'entraînement

Des tests qui passent, une fonction fausse

Modularité, mise au point et tests · Jeux de tests · niveau 2

Énoncé

Des tests qui passent, une fonction fausse. Un élève propose la fonction et les tests suivants.


def maximum_liste(t):
    m = 0
    for x in t:
        if x > m:
            m = x
    return m

assert maximum_liste([3, 7, 2]) == 7
assert maximum_liste([5]) == 5
assert maximum_liste([4, 4, 1]) == 4
print("tests OK")
  • Les trois assertions passent-elles ?
  • Trouver une liste non vide pour laquelle la fonction renvoie un résultat faux. De quelle famille d'erreur s'agit-il ?
  • Quelle catégorie de cas manquait au jeu de tests ? Que faut-il en conclure sur la valeur d'un test qui passe ?
  • Corriger la fonction, vérifier la précondition « t non vide » par une assertion, et compléter le jeu de tests.

Un exercice à chercher : son corrigé n'est pas publié. Sur Adloun, le tuteur guide par questions, sans donner la réponse.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre