Adloun

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.