Adloun

sciences numériques et technologie (seconde) · Chapitre 2 · Exercice de TD

Rendre la monnaie

Variables, types et affectations · Les opérateurs arithmétiques · niveau 3 (difficile)

Énoncé

Un automate doit rendre une somme donnée en centimes (par exemple somme = 187) en utilisant le moins de pièces possible, avec des pièces de , , , , , et centime.

Écrire un programme qui affiche le nombre de pièces de chaque valeur, en n'utilisant que // et %.

Corrigé

somme = 187

p100 = somme // 100
somme = somme % 100      # ce qu'il reste à rendre
p50 = somme // 50
somme = somme % 50
p20 = somme // 20
somme = somme % 20
p10 = somme // 10
somme = somme % 10
p5 = somme // 5
somme = somme % 5
p2 = somme // 2
p1 = somme % 2

print(p100, "pièce(s) de 100")   # 1
print(p50, "pièce(s) de 50")     # 1
print(p20, "pièce(s) de 20")     # 1
print(p10, "pièce(s) de 10")     # 1
print(p5, "pièce(s) de 5")       # 1
print(p2, "pièce(s) de 2")       # 1
print(p1, "pièce(s) de 1")       # 0

Vérification : . ✓

Le schéma se répète : // donne le nombre de pièces de la valeur courante, % met à jour ce qu'il reste à rendre. Il est essentiel de réaffecter somme après chaque pièce — sinon chaque ligne repartirait de la somme entière et le compte serait faux.

Remarque. Prendre à chaque fois la plus grosse pièce possible donne ici le minimum de pièces, mais ce n'est pas vrai pour tous les jeux de pièces imaginables.

100 % gratuit

Essaie le suivant avec le tuteur

Faire l'exercice suivant avec le tuteur

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.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant avec le tuteur →