Bonjour à tous je viens de finir ma seconde et je vais rentrer en 1ère S.Si, j'ai remarqué que je suis très mauvais en algorithme et j'aimerai changer cela:
Énoncé : Une ville de 3000 habitants augmente de 2% chaque année ; en combien d'année la ville dépassera 4000 habitants
Sur ma calculatrice j'ai fais:
PROGRAM: ABC
rompt N
:N=0
rompt P
=3000
:While P<4000
:Repeat P+0.02P→P
:Repeat N+1→N
:End
isp N
mais cela ne fonctionne pas alors si quelqu'un pourrait me résoudre ce type de problème à la calculatrice je le remercierai
Bonjour,
Avant d'essayer de faire faire le calcul par une machine essaye de regarder comment tu ferais avec du papier et un crayon.
On arrêtera quand tu auras compris ce que la machine peut faire à ta place et ce qu'il faut qu'elle connaisse pour résoudre le problème.
Que font les instructions
Prompt N
suivie d'un N vaut 0
Cet algo a toutes les bonnes raisons de ne rien donner comme solution exploitable.
Les 2 Prompt n'ont rien à faire dans cet algo précis : déterminer au bout de combien d'années la population dépasse 4000 habitants
On connaît la population au départ
On connaît le taux d'augmentation
On connaît le nombre d'habitants à dépasser
Aucune inconnue.
Rien que du calcul qu'il est préférable de faire effectuer par une machine qu'avec un papier et un crayon.
Mais on ne saura pas faire faire les calculs à la machine si on ne les a pas déterminés auparavant.
Il faut commencer par écrire en français ce que tu veux que la machine fasse.
Puis après tu traduis ces "opérations" en instructions compréhensibles par une machine.
Une machine sait :
- Initialiser des variables
- Faire des calculs
- Répéter des opérations jusqu'à ce que quelque chose arrive
- Afficher le contenu de variables
Et si nécessaire demander la valeur de certaines variables obligatoires pour résoudre le problème et que la machine ne peut pas inventer.
Bonjour,voici ce que j'ai essayé:
-population de depart=3000
-population à depasser=4000
-taux d'accroissement=2% par an.
2% de 3000=60 hbts ce qui veut dire qu'il ya 60 hbts qui s'ajoute chaque année.
faisons maintenant la difference
4000-3000=1000 hbts.
Dans 1000 hbts il ya combien de fois 60 hbts?
Environ 16,67 qui vaut approximativement 17.
En 17ans on a 1020 hbts(60 hbts x 17) + les 3000 hbts de depart =4020 hbts.
Je conclus donc que c'est dans 17ans.
"Escusez-moi si je déroute"
Bonjour,
il te faut impérativement une boucle tantQue
Population = 3000
N=0
TantQue Population < 4000
Population = 1.02*Population
N = N+1
FinTantQue
afficher N
Remarque, c'est ce que tu as fait dans ton premier post (avec des Prompt N et Prompt P inutiles), ton algorithme devrait marcher.
Merci de la rapidité! impressionnant
Bon j'ai pas tout compris mais quand même une bonne partie, j'ai modifié mon algorithme et j'ai compris maintenant qu'il était important de l'écrire en français et de le retranscrire en codage numérique; j'ai modifié mais encore une fois ça ne fonctionne pas comme je l'avais espérer:
PROGRAM: ABC Nom de programme
: N=0 N le nombre d'année=0 au départ
: P=3000 P le nombre de population=3000 départ
: While P<4000 Tant que P<4000
: P+0.02P→P effectuer P+0.02P→P
: N+1→N effectuer N+1→N
: End Quand P>4000; arrêter les calculs
: Disp N Afficher N
Voilà j'ai interprété ça mais ma calculatrice quand je vais dans "Prgm" et "Exéc" me donne:
PrgmABC 30 Fait
mais le résultat n'est pas 30 mais quelque chose aux alentours de 15 il me semble non?
À la main je trouve 15... Tu devrais essayer de te documenter sur comment fonction While pour ta calculatrice, et tu peux réduire la ligne P+0.02P->P par P*1.02->P
Bonjour
J'imagine que tu as une calculatrice Ti-82 ou 83 ou un modèle similaire
Oublie les "repeat" ils ne servent à rien, le procédé de répétition est déjà compris dans la boucle "While"
Aussi les prompt ne servent à rien
C'est comme si il y avait 2 fois l'instruction
N reçoit N+1
Vérifie bien ton programme sans commentaires.
Effectivement c'est comme si N était répété 2 fois mais malheureusement je ne sais pas comment ça se fait
J'ai la calculatrice Ti-83 Premium CE, la plus populaire en ce moment
Encore une chose très étrange: quand je met N=4 ou n'importe quel autre chiffre ça ne change rien au résultat ça me donne encore 30
PS:J'ai rien modifié dans la calculatrice, je l'ai eu hier
C'est très simple, il ne faut pas mettre les Repeat
Repeat est une fonction similaire à While à quelques détails près,
Là où "While" se lit "tant que X est vérifié"
Repeat doit être lu comme "Répéter jusqu'à ce que X soit vérifié"
Tu penses que ta calculatrice comprend de la même manière
: faire ceci
et
:
faire ceci
C'est peut être un détail mais cela peut expliquer certains de tes problèmes.
Pourtant dans le tutoriel de ta calculatrice, on y lit que pour initialiser une variable avec une valeur c'est
valeur -> variable.
Si tu mets N=0 et P=3000 ca ne fonctionne pas
Tu dois faire 3000 -> P
Et 0 -> N
Si tu as essayé avec les fleches et que ca ne marchait pas cest que tu as dû faire P -> 3000
EXACTEMENT merci! ça marche et si je veux faire apparaitre P aussi j'ai juste à rajouter Disp P.
Merci beaucoup les amis !
La prochaine fois, avant de tester un programme sur une calculatrice que tu as depuis moins de 24h, pense à chercher les tutoriels qui sont nombreux sur le web et qui pourraient d'aider.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :