Vérifier sur le système [6, 4, 1] et la somme 8 que le glouton rend…
Application directe du cours · niveau 1 (application) · NSI (première), chapitre 8 — Dichotomie, voisins et gloutons · Voisins et gloutons
Énoncé
Vérifier sur le système [6, 4, 1] et la somme que le glouton rend une solution correcte mais pas optimale.
Corrigé
assert rendu_monnaie(8, [6, 4, 1]) == [6, 1, 1]
assert sum(rendu_monnaie(8, [6, 4, 1])) == 8 # la postcondition est TENUE
assert len(rendu_monnaie(8, [6, 4, 1])) == 3 # mais 4 + 4 ferait deux pieces
Les deux lignes disent tout le chapitre : la postcondition porte sur la somme, pas sur le nombre de pièces. L'algorithme fait exactement ce qu'il promet, et ce qu'il promet n'est pas l'optimalité. Un programme correct n'est pas nécessairement un bon programme — encore faut-il que sa spécification dise ce qu'on attendait.
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.