Bonjour, j'ai un dm à faire pour la rentrée et je bloque complètement sur un exercice. Si quelqu'un pourrait m'aider ça serai génial!
Un consommateur a la possibilité de choisir entre deux formules de location d'un studio pour ses vacances :
FORMULE A : location fixe de 250 euros et 10 euros de charges par jour ;
FORMULE B : location fixe de 300 euros et 5 euros de charges par jour.
Question : Pour connaître la formule la plus avantageuse, le consommateur hésite entre trois algorithmes. Lequel (ou lesquels) lui conseiller? Justifier la réponse.
Algorithmes 1 : Variables : N, A, B sont des entiers
Début
Entrer N ;
A <-- 250 + 10 x N ;
B <-- 300 + 5 x N
Si A<B alors Afficher "B" ;
Sinon Si A>B alors Afficher "A" ;
Sinon Afficher "A ou B" ;
FinSi ;
FinSi ;
Fin.
Algorithmes 2 : Variables : N, A, B sont des entiers
Début
Entrer N ;
A <-- 250 + 10 x N ;
B <-- 300 + 5 x N
Si A<B alors Afficher "A" ;
Sinon Si A>B alors Afficher "B" ;
Sinon Afficher "A ou B" ;
FinSi ;
FinSi ;
Fin.
Algorithmes 3 : Variables : N, D sont des entiers
Début
Entrer N ;
D <-- 5 x N - 50 ;
Si D>0 alors Afficher "B" ;
Sinon Si D<0 alors Afficher "A" ;
Sinon Afficher "A ou B" ;
FinSi ;
FinSi ;
Fin.
Salut
La formule la plus avantageuse est celle qui coûte le moins cher^^
Le raisonnement est le suivant :
Si tu loues un studio pendant N jours, alors tu vas payer :
- dans la formule A : 250 + 10N euros
- dans la formule B : 300 + 5N euros
Donc :
- si 250 + 10N < 300 + 5N, alors la formule la plus avantageuse sera la formule A
- si 250 + 10N > 300 + 5N, alors la formule la plus avantageuse sera la formule B
- si 250 + 10N = 300 + 5N, alors aucune n'est plus avantageuse que l'autre
Est ce que tu arrives à comprendre les algorithmes proposés ?^^
Mais je ne comprend pas pourquoi il n'y a pas le nombres de jours qu'il va louer le studio, donc je ne vois pas comment on pourrait faire?
Justement, l'instruction "Entrer N" va permettre à l'utilisateur de donner une valeur à la variable "N".
Or elle correspond justement au nombre de jours
Le programme effectue ensuite les calculs à partir de cette valeur, et en fonction des résultats, il va dire si c'est A, B, ou les deux^^
En mettant de côté les algorithmes un instant, as-tu compris mon premier message ?
Si 250 + 10N < 300 + 5N, alors c'est la formule A
Etc...
Donc j'ai juste à marquer :
si 250 + 10N < 300 + 5N, alors la formule la plus avantageuse sera la formule A
- si 250 + 10N > 300 + 5N, alors la formule la plus avantageuse sera la formule B
- si 250 + 10N = 300 + 5N, alors aucune n'est plus avantageuse que l'autre
???
Loool mais non !
Jvais quand même pas te donner la réponse comme ça
Est ce que tu as compris le raisonnement ou pas ?
Parce que c'est comme ça que tu sauras si les algorithmes respectent ce raisonnement ou pas
Okai, cool^^
Bon maintenant, il va falloir lire les algorithmes et comprendre ce qu'ils font.
Les bons algorithmes sont ceux qui donneront les bonnes formules (A, B ou les deux).
Je te montre pour le premier et après tu vois pour les autres :
(1) Variables : N, A, B sont des entiers
(2) Début
(3) Entrer N ;
(4) A <-- 250 + 10 x N ;
(5) B <-- 300 + 5 x N
(6) Si A<B alors Afficher "B" ;
(7) Sinon Si A>B alors Afficher "A" ;
(8) Sinon Afficher "A ou B" ;
(9) FinSi ;
(10) FinSi ;
(11) Fin.
(1) On définit les variables qu'on va utiliser dans l'algorithme :
- N est le nombre de jour
- A est le prix à payer pour N jours avec la formule A
- B est le prix à payer pour N jours avec la formule B
(3) On demande à l'utilisateur de donner le nombre de jours
(4) et (5) On donne les formules permettant à l'algorithme de calculer A et B
(6) Si A < B, l'algorithme va afficher "B"
Je m'arrête là : normalement si A < B, c'est la formule A qui est plus avantageuse...
Donc cet algorithme n'est pas satisfaisant.
Plus qu'à voir pour les deux autres
Je ne comprend vraiment rien, mais je te remercie quand même d'avoir essayé de m'aider. Bonne soirée
Pas de soucis
Je peux quand même continuer à essayer si tu veux, les algorithmes c'est pas évident au début...
Un algorithme c'est une série d'instructions que tu vas écrire, et que la calculatrice (ou l'ordinateur, peu importe) va faire à ta place.
Imaginons que tu restes deux semaines, donc 14 jours dans le studio.
Pour savoir quelle formule tu devrais choisir, il faudrait que tu fasses les calculs :
- 250 + 10 14 = 250 + 140 = 390 €
- 300 + 5 14 = 300 + 70 = 370 €
Ensuite tu compares les prix, et tu vois que la formule B revient moins cher^^
Si finalement tu décides de rester une semaine, donc 7 jours, les calculs sont les suivants :
- 250 + 10 7 = 320 €
- 300 + 5 7 = 335 €
Cette fois-ci, c'est la formule A qui revient moins cher !
Là où je veux en venir, c'est que c'est chiant de faire tous ces calculs, alors que finalement le raisonnement est toujours le même !
C'est pour ça qu'on va rédiger un algorithme, qui va tout faire à notre place
La seule chose qu'on aura à faire, c'est lui dire le nombre de jours, et en retour il nous dira si c'est la formule A, ou la formule B qui revient moins cher^^
Après, ce qui est dur, c'est rédiger cet algorithme !
Là, on te demande juste de comprendre ceux qui sont déjà écrits^^
Prends ton temps et t'auras surement un déclic
Voilà c'est ça^^
Regarder si A est supérieur, inférieur ou égal à B revient à regarder si D = A - B est supérieur, inférieur ou égal à 0
Tu préfères peut être quand c'est écrit comme ça :
- A < B A - B < 0
D < 0
- A = B A - B = 0
D = 0
- A > B A - B > 0
D > 0
Lis attentivement chaque algorithme, mets-toi à la place de la calculatrice qui suit ces instructions à la lettre^^
Une fois que tu as bien compris chacune des lignes, pose-toi la question : est-ce vraiment ce que je cherchais à faire ?
Dans le premier algorithme, si A < B, alors la calculatrice va afficher "B".
Or on sait que si A < B, alors c'est la formule A que la calculatrice devrait afficher !
Donc cet algorithme est faux
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :