Bonjour, j'ai un devoir en SNT et je ne comprends pas la consigne :
Une entreprise produit des trottinettes électriques. En 2019, la production a été de 30 000 trottinettes. La direction décide d'augmenter chaque année de 4% la production de l'année précédente. Pour savoir quand la production dépassera 100 000 trottinettes, Agnès écrit l'algorithme ci-contre:
T← 55 000
N← 2019
Tant que............................faire
T←.............................
N←............................
Fin Tant que

Consignes :
1. Recopier et compléter cet algorithme afin que la variable N contienne l'année recherchée en fin d'algorithme.
2. Programmer cet algorithme afin de donner l'année de solution.

Ce que je ne comprends pas → pourquoi l'algorithme a le nombre 55 000 ? (d'où sort-il ?)
→ Quelle est la différence entre les consignes 1. et 2. ?
→ j'ai fait ceci en changeant le 55000 en 30000 et python dit qu'il y a une erreur avec le return et peut être aussi avec la 4eme ligne ?
t=30000
n=2019
while t<100000:
t=t+t*0.4
n=n+1
return(n)

Merci beaucoup si vous pouvez m'aider (encore mieux si vous m'expliquez sans me donner la réponse :)


Sagot :

Réponse :

Explications :

Bonjour,

→ pourquoi l'algorithme a le nombre 55 000 ? (d'où sort-il ?)

aucune réponse ... peut être une erreur d'écriture !?

→ Quelle est la différence entre les consignes 1. et 2. ?

je pense que dans la question 1) on vous demande seulement que n contienne l'année de la solution alors que dans la question 2) on vous demande en fin de programme d'afficher cette année n !?

→ j'ai fait ceci en changeant le 55000 en 30000 et python dit qu'il y a une erreur avec le return et peut être aussi avec la 4eme ligne ?

t=30000

n=2019

while t<100000:

t=t+t*0.4

n=n+1

return(n)

votre programme tel que présenté dans votre post comporte 3 erreurs :

1) les instructions t= ... et n=...qui suivent le while doivent être décalées vers la droite !!

sinon erreur : IndentationError: expected an indented block

2) la relation t = t + 1.04 donne le cumul depuis l'année 2019 des trottinettes et pas l'évolution de la production !!

l'évolution pour n année : e(n) = t * 1.04ⁿ

3) l'instruction return(n) ne peut s'inscrire que dans une fonction sinon erreur retournée : SyntaxError: 'return' outside function

pour  répondre a la question 2) il faut afficher = donner  en utilisant l'instruction print()

remarques :

si l'instruction est décalée % au while vous allez afficher la suite de toutes les années pour arriver a t = 100000

si l'instruction est décalée alignée au while vous allez afficher l'année ou vous arrivez à t = 100000

J'espère avoir répondu a votre attente sinon passez par les commentaires !!