Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
- Accueil
- » Entraide (collège-lycée)
- » Exercice suites URGENT
- » Répondre
Répondre
Résumé de la discussion (messages les plus récents en premier)
- Debs
- 02-12-2020 13:00:56
Ce n'est pas ce que j'ai dis. Je vous remercie de votre aide qui m'a été très utile.
Mais je pense quand même qui faudrai que vous soyez plus souple lorsque la personne en face de vous ne comprend pas
- freddy
- 02-12-2020 12:59:54
Pourquoi êtes vous si dur ?
Votre façon de parler est vraiment aberrante
Yoshi est simplement exaspéré par ton absence de volonté de comprendre quoi que ce soit et de progresser, sans compter ton orgueil et ta suffisance. C’est la raison pour laquelle j’ai abandonné.
- yoshi
- 02-12-2020 12:58:45
Re,
Allons bon ! Je n'aurais donc pas dû te donner toutes ces explications
Ma façon de parler est aberrante ????
Donc, tout ce que j'ai pu expliquer ne t'aura donc avancé à rien ?
J'ai perdu mon temps ?
@+
- Debs
- 02-12-2020 12:39:37
Pourquoi êtes vous si dur ?
Votre façon de parler est vraiment aberrante
- yoshi
- 02-12-2020 12:22:06
Re,
Je ne comprends pas ce que tu fais !
Réfléchis un peu...
Tu démarres avec n=0
n est un compteur, pourquoi veux-tu l'augmenter de 0.1 à chaque tour ? Pourquoi pas 0.0001 alors ?
Non :
n<- n+1 rien à changer !
Mais là :
Tant que n>10 !!!!! Même motif, même punition : ça ne peut pas marcher...
Tu as n=0 et tu dis à ta calculatrice :
TANT que n >10
Faire....
Est-ce que n>10 ? Non, il vaut 0...
Donc ton programme s'arrête immédiatement... Déjà dit, nom d'un chien !
C'est pas
Tant que n>10, mais TANT que n<10 ....
Et ensuite $c_n$ c'est des maths, ça ne marche pas en informatique !
(ou alors, écris cn partout, pas tantôt l'un, tantôt l'autre...)
Ecris donc
c <- k*c*(1-c)
Là (avant aussi), si tu veux voir l'évolution, il faut ajouter une ligne : disp c
disp abréviation de display = afficher :
n<- 0
k<- 1
c<- 0,2
Tant que n<10
n<- n+1
c<- k*c*(1-c)
disp c
Fin Tant Que
Ecrit en Python :
n=0
k=1
c=0.2
while n<10:
n=n+1
c=k*c*(1-c)
print (c)
Voilà ce que j'obtiens :
0.16
0.1344
0.11633664
0.1028024261935104
0.09223408736223825
0.08372696049069325
0.07671675657768315
0.07083129583788365
0.06581422336780986
0.06148271137030189
Ça y est tu redescends sur Terre ?
Il n'y a aucune magie en algorithmique et programmation (rien de plus bête qu'une machine : ton programme fera strictement ce que tu lui dis de faire, parce qu'à côté de sa "bêtise", elle est très obéissante) : rien que de la réflexion...
@+
- Debs
- 02-12-2020 10:59:14
Donc pour k=1
n<-0
k<-1
c<-0,2
Tant que n>10
n<-n+0,1
c<-kcn(1-cn)
- yoshi
- 02-12-2020 10:15:59
Bonjour,
Oui, ça, c'est correct.
Pour n=10, on trouve c=0.444 444 018 696 254 44>0.444444
Maintenant pour les différentes valeurs de k, tu n'as plus qu'à te resservir de ton algo
* tel quel pour k=2, c=0.2,n=0
* pour k=1, tu as intérêt à ne pas tester c mais n...
Tant que n>10
etc...
Parce que pour k=1 ta fonction est décroissante, la valeur de c ne fait que diminuer, donc tu peux toujours attendre que c dépasse 0.444444...
@+
- Debs
- 02-12-2020 09:14:56
Ré,
n<-0
k<-1,8
c<-0,2
Tant que c≤0.444444
n<-n+1
c<-kcn(1-cn)
- yoshi
- 01-12-2020 21:29:32
Re,
Réfléchis 30 s !!!!
n est le nombre d'années cherché, où est c, le nombre de coccinelle, qui doit dépasser 0.444444 ? Et c démarre à 0.2...
n<-n+1
n<- k*n(1-n)
Tu n'as pas l'impression d'être un peu incohérent ?
La boucle while doit être:
Tant que c n'a pas dépassé 0,444444
faire :
n'a pas dépassé c'est >= pour toi ? pour moi, c'est l'inverse : <=
Allez corrige tout ça, puis essaie ton script sur ta calculatrice, moi j'ai tout fait en Python, et je sais que ce que j'ai est correct !
Pourquoi ?
Parce que j'ai lancé les différents scripts des algos, je les ai testés et que les résultats sont cohérents, conformes à ce que j'aurais trouvé "à la main"
Parce que Tant que c >= 0.444444 ça ne fonctionne pas, dès le début...
Tu demandes de répéter les calculs tant que c>0.444444 et comme c=0.2 au départ, 0.2 n'étant pas >= 0.444444 to prog ne démarre même pas...
@+
- Debs
- 01-12-2020 19:37:11
n<-0
k=1,8
Tant que u≥0,444444
n<-n+1
n<- k*n(1-n)
Tant que
C'est mieux ?
- yoshi
- 01-12-2020 19:11:43
Bonsoir,
Avant que de vouloir faire de la programmation, simuler le boulot pas à pas avec Crayon/papier...
Et ne pas ^tout mélanger pris de panique...
U<-8
N<-0
Tant que u≠444444
N<- n+1
U<- kcn (1-cn)
??
Déjà 1ere remarque :
$k\times c_n\times(1-c_n)$ c'est une histoire de coccinelle, ce que confirme le 444444...
(Et cette formule n'est valable qu'en utilisant $c_0=0.2$ au lieu de 200000. Il te faudra donc tester la borne 0.444444)
Alors que vient faire là le U <- 8 ? Si je ne m'abuse, ce 8 correspond à l'exercice d'avant où on démarre de 8 (millions d'habitants).
2e remarque : Ensuite, crois-tu vraiment que tu as une chance raisonnable de tomber pile sur le nombre 444444 ?
3e remarque L'énoncé dit exactement : dans combien d'années la population dépassera 444444 coccinelles ?
Depuis quand dépasser une valeur donnée est il synonyme de "être différent de" ?
Quel raport avec le fait de ne pas avoir suivi la spécialité Maths en 1ere.
Je vois un problème de lecture et de compréhension de texte.
Que fais-tu exactement ?
Tu travailles sur l'exo des coccinelles ou du couple (population,agriculture) ?
Choisis un thème et reviens et explique, un à la fois, quels sont tes soucis ?
@+
- Debs
- 01-12-2020 16:54:05
Excusez moi de donner cette image... Mais je suis en terminale et je n'est pas suivi la spécialité maths l'année dernière donc c'est très compliqué pour moi, malgré mes efforts...
- freddy
- 01-12-2020 16:26:11
Je ne comprend pas ce que je pourrai rajouter de plus pour mon algorithme
Tu as raison, il est faux ! Si tu ne veux pas réfléchir et te remettre en cause, je ne le ferai pas à ta place. Si quelqu'un veut intervenir, pas de souci.
PS : la réponse à la 1-a est mal rédigée mais correcte.
- Debs
- 01-12-2020 15:14:56
Je ne comprend pas ce que je pourrai rajouter de plus pour mon algorithme
- freddy
- 01-12-2020 14:12:53
Ta suite géométrique s'écrit $u_n=8\times 1,028^n$ non ?
Ensuite, tu codes en R, du coup, je n'avais pas bien vu l'assignation à la valeur initiale, pardon. Toutefois, ce n'est pas 10, mais 16 que tu cherches à atteindre je pense ... Et ton tant que "U > V" va te faire stopper la procédure tout de suite, à nouveau. Regarde bien ce que tu veux faire !
Il faudrait que ton code soit plus lisible, tu nous laisses trop compléter les "trous" :-) !