• Aucun résultat trouvé

AURIEZ-VOUS LA MONNAIE ? Niveau

N/A
N/A
Protected

Academic year: 2022

Partager "AURIEZ-VOUS LA MONNAIE ? Niveau"

Copied!
1
0
0

Texte intégral

(1)

AURIEZ-VOUS LA MONNAIE ?

Niveau : à partir de la seconde.

Lien avec le programme : algorithmique.

Lien avec Les maths au quotidien : voir Porte-monnaie / Nos amies les caissières.

Voici un algorithme écrit en langage Python.

1. Décrire très précisément le fonctionnement de l’algorithme lorsque l’utilisateur a entré la valeur 4 ; la valeur 13,93.

2. Quel est le rôle de cet algorithme ?

3. En s’inspirant de ce qui précède, écrire un algorithme qui respecte les instructions suivantes :

En entrées :

a. La liste dans l’ordre décroissant des valeurs des billets et pièces possédées par un tiers dans son porte-monnaie (tenir compte des effectifs des différentes valeurs).

b. La somme totale de la monnaie que ce tiers doit rendre à quelqu’un.

En sortie :

Si le rendu de monnaie est possible, afficher la liste des valeurs du rendu de monnaie optimale, c’est-à-dire qui utilise le moins de billets et pièces du porte-monnaie.

Si le rendu de monnaie n’est pas possible, afficher « Le rendu de monnaie est impossible ».

Point-info : un algorithme glouton est un algorithme qui suit le principe de faire, étape par étape, un choix optimum local, dans l'espoir d'obtenir un résultat optimum global. Par exemple, dans le problème du rendu de monnaie (donner une somme avec le moins possible de pièces), l'algorithme consistant à répéter le choix de la pièce de plus grande valeur qui ne dépasse pas la somme restante est un algorithme glouton (Wikipédia).

L=[500,200,100,50,20,10,5,2,1,0.5,0.2,0.1,0.05,0.02,0.01]

S=[] # S est une liste vide (pour le moment)

n= input("entrer une somme en euros : ") # n est du type « caractère » n=float(n) # le type de n passe de « caractère » à « nombre à virgule » i=0

while n>0:

if n>=L[i]: # pour i = 0, L[i] est le premier élément de la liste L

n=n-L[i] # si cet algorithme est programmé, mettre plutôt n=round(n-L[i],2) à cause de l’approximation des nombres décimaux par Python qui génère ici un bogue

S.append(L[i]) # on ajoute le (i+1)ème élément de L comme dernier élément de S else:

i=i+1 print(S)

Références

Documents relatifs

« Le président Idriss Deby Itno était un partenaire essentiel pour les Nations unies et a contribué de manière significative à la stabilité de la région, en particulier dans

A l'aide de la solution de sulfate de cuivre, préparer l'échelle de teinte suivante : (placer la solution fille dans un tube à essai numéroté).3. Réalisation d'une

Avec la deuxième approche, il faudra ensuite reconstituer la composition du rendu de monnaie à partir du tableau sous forme de tableau avec le nombre de pièces de chaque type,

La complexité en temps est toujours en O(ns), puisqu’on a deux boucles imbriquées avec des opérations en temps constant.. L’enregistrement d’une solution optimale rajoute

Dans une première étape, les ions cuivre de la solution vont réagir avec des ions iodure, puis dans un second temps le diiode formé par la réaction précédente sera titré par

l'effet de l'accroissement des investissements équilibre exactement celui de l'accroissement de la production, de sorte que le montant total des dépenses de consommation D^ est égal

Elle ne peut se trouver dans l'assimilation pure et simple de la monnaie à une marchandise, car si le prix d'une marchandise tend à baisser quand sa quantité augmente, les variations

Le chapitre qui suit aura pour objet, connaissant les recettes et les dépenses d'un individu au cours d'une période de temps, de déterminer la vitesse avec laquelle la monnaie