Algorithme
Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
-
Ioper
- Membre Naturel
- Messages: 16
- Enregistré le: 29 Oct 2013, 13:46
-
par Ioper » 29 Oct 2013, 13:53
Bonjour , je suis à la fin d'un exercice sur les suites mais je bloque sur la dernière question
Une entreprise doit réduire la quantité de déchets qu'elle rejette pour être dans la norme. Elle s'engage à rejeter moins de 30 000 tonnes par an. En 2010 elle rejetait 40 000 tonnes. Depuis cette datte l'entreprise réduit chaque année la quantité de déchets qu'elle rejette de 5% par rapport à l'année dernière mais en produit par ailleurs 200 tonnes de nouveaux déchets par an en raison du développement de nouvelles activités.
Question : Ecrire un algorithme qui permet de calculer la quantité de déchets produits par cette entreprise depuis 2010 jusqu'à 2020.
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 07:03
-
par ampholyte » 29 Oct 2013, 14:00
Bonjour,
Tu as dû avoir une formule de la forme
)
Tu peux donc faire une boucle permettant de calculer pour successivement les différentes valeurs de un
-
Ioper
- Membre Naturel
- Messages: 16
- Enregistré le: 29 Oct 2013, 13:46
-
par Ioper » 29 Oct 2013, 14:05
ampholyte a écrit:Bonjour,
Tu as dû avoir une formule de la forme
)
Tu peux donc faire une boucle permettant de calculer pour successivement les différentes valeurs de un
Il ne s'agit pas de calculer des valeur de la suite un mais de créer un algorithme pour permettent de trouver ces valeur via la calculatrice
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 07:03
-
par ampholyte » 29 Oct 2013, 14:06
Oui c'est pour cette raison que tu dois faire une boucle =).
Tu calcules au fur et à mesure les valeurs et tu affiches uniquement la solution.
Quel est la formule que tu as obtenu ?
-
Ioper
- Membre Naturel
- Messages: 16
- Enregistré le: 29 Oct 2013, 13:46
-
par Ioper » 29 Oct 2013, 14:13
ampholyte a écrit:Oui c'est pour cette raison que tu dois faire une boucle =).
Tu calcules au fur et à mesure les valeurs et tu affiches uniquement la solution.
Quel est la formule que tu as obtenu ?
un+1= 0,95un+200
Le problème c'est que je ne sais pas comment créer l'algorithme en question pour calculer tous les termes
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 07:03
-
par ampholyte » 29 Oct 2013, 14:14
Petit exemple.
Si je te demande de calculer u3 comment procèdes-tu ? (sachant que tu connais u0).
Montre moi ta démarche.
-
Ioper
- Membre Naturel
- Messages: 16
- Enregistré le: 29 Oct 2013, 13:46
-
par Ioper » 29 Oct 2013, 14:21
ampholyte a écrit:Petit exemple.
Si je te demande de calculer u3 comment procèdes-tu ? (sachant que tu connais u0).
Montre moi ta démarche.
u3= 0,95xU2+200
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 07:03
-
par ampholyte » 29 Oct 2013, 14:22
Oui mais comment fais-tu pour calculer la valeur ?
Tu commences par calculer u1, puis calculer u2 puis calculer u3.
-
Ioper
- Membre Naturel
- Messages: 16
- Enregistré le: 29 Oct 2013, 13:46
-
par Ioper » 29 Oct 2013, 14:24
ampholyte a écrit:Oui mais comment fais-tu pour calculer la valeur ?
Tu commences par calculer u1, puis calculer u2 puis calculer u3.
Oui je calcul U1 puis le reste mais je voit pas ou tu veux en venir

-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 07:03
-
par ampholyte » 29 Oct 2013, 14:27
Si tu remarques, pour calculer un tu as besoin de calculer u(n-1). Pour calculer u(n - 1) tu as besoin de calculer u(n - 2).
Il te faut donc toutes les valeurs intermédiaires.
Pour construire ton algorithme tu as besoin de :
- u0, ta valeur initiale
- Du nombre d'étape précédent la valeur à calculer.
Supposons que u0 correspond à 2010, que te faut-il comme valeur pour calculer u10 (correspondant à 2020)
-
Ioper
- Membre Naturel
- Messages: 16
- Enregistré le: 29 Oct 2013, 13:46
-
par Ioper » 29 Oct 2013, 14:31
Il faut trouver u(n+10)
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 07:03
-
par ampholyte » 29 Oct 2013, 14:34
Non tu as besoin de u1, u2, u3, ..., u10.
Pour cela tu as besoin d'une boucle pour ton algorithme. Tu commences par un = u0
- Code: Tout sélectionner
un = 0
POUR i DE 1 A 10 :
un = 0,95 * un + 200
FIN POUR
Afficher un
A chaque tour de boucle, on va écraser la valeur de un par la u(n + 1). Comprends-tu ?
-
Ioper
- Membre Naturel
- Messages: 16
- Enregistré le: 29 Oct 2013, 13:46
-
par Ioper » 29 Oct 2013, 14:38
Oui mais a quoi va ressembler mon algorithme au final ?
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 07:03
-
par ampholyte » 29 Oct 2013, 14:39
A ce que je viens d'écrire =). Après tu dois l'adapter à ton langage de calculatrice.
-
Ioper
- Membre Naturel
- Messages: 16
- Enregistré le: 29 Oct 2013, 13:46
-
par Ioper » 29 Oct 2013, 14:42
ampholyte a écrit:A ce que je viens d'écrire =). Après tu dois l'adapter à ton langage de calculatrice.
Je ne comprend pas pourquoi tu as marqué que un= O,95*un+200
C'est plutot un+1
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 07:03
-
par ampholyte » 29 Oct 2013, 14:48
En fait un dans l'algorithme correspond à une variable. Cette variable correspond aussi bien à u0, u1, u2, u3, ... u10.
En fait ici pour chaque tour de boucle on vient écraser l'ancienne valeur de un (donc un) par la nouvelle (c'est à dire u(n + 1))
-
Ioper
- Membre Naturel
- Messages: 16
- Enregistré le: 29 Oct 2013, 13:46
-
par Ioper » 29 Oct 2013, 14:59
Donc avec ma casio sa donne :
Un=0
For 1;)K To 10
UN=0.95xUn+200
Next
UN
Le problème c'est que sa marche pas
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 07:03
-
par ampholyte » 29 Oct 2013, 15:00
Par ce que Un n'est pas égale à 0 au départ mais à u0.
-
Ioper
- Membre Naturel
- Messages: 16
- Enregistré le: 29 Oct 2013, 13:46
-
par Ioper » 29 Oct 2013, 15:36
ampholyte a écrit:Par ce que Un n'est pas égale à 0 au départ mais à u0.
Donc ou doit-e modifier mon algorithme ?
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 07:03
-
par ampholyte » 29 Oct 2013, 15:39
A la place de un = 0 tu dois écrire un = 40000
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 57 invités