Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Suite(récurrence) avec python

Posté par
JAJAAA
30-09-20 à 16:26

Bonjour,

Je ne comprends pas pourquoi mon programme pyhton ne fonctionne pas sur la suite suivante : Tn+1 = Tn*1,15 et T0= 2
Le but du programme est de déterminer le rang n qui dépasse 10.

Suite(récurrence) avec python

Posté par
flight
re : Suite(récurrence) avec python 30-09-20 à 16:47

salut

tu veux dire le rang n qui fait que  Tn > 10  ?

Posté par
flight
re : Suite(récurrence) avec python 30-09-20 à 16:50

j'y connais rien en python mais je peux lire une chose evidente c'est que ta ligne T = 1,15T
signifie que T divient 1,15.T
si je prend par exemple T = 2 ,
à la premiere boucle j'aurai
T = 1,5*2
à la seconde boucle j'aurai
T = 1,5²*2
à la 3 ieme boucle j'aurai
T = 1,5^3*2

et c'est pas ce que donne  la suite Tn

Posté par
flight
re : Suite(récurrence) avec python 30-09-20 à 16:53

pardon ! mal lu ton enoncé c'est en fait bien ca , désolé  

Posté par
flight
re : Suite(récurrence) avec python 30-09-20 à 16:58

alors peut etre que c'est " while T < 10"   qui n'est pas spécifié

Posté par
carpediem
re : Suite(récurrence) avec python 30-09-20 à 17:03

salut

Citation :
Le but du programme est de déterminer le rang n qui dépasse 10.
incompréhensible !!!

le rang n qui dépasse 10 ben c'est 11 !!!

peux-tu nous donner un énoncé exact et complet ...

Posté par
carpediem
re : Suite(récurrence) avec python 30-09-20 à 17:05

et l'erreur est certainement dans la ligne While (en admettant que j'ai compris ce qui est demandé) ...

Posté par
mathafou Moderateur
re : Suite(récurrence) avec python 30-09-20 à 17:10

Bonjour,
certes la cosigne est mal recopiée

mais en tout cas faut pas chercher des erreurs là où il n'y en a pas
par contre :

T= 2
print(T)
for k in range(1,5) :
    T=T*1,15
    print(T)

pour voir ce que fait vraiment T=T*1,15
donne :
>>>
(2, 15)
((2, 15), 15)
(((2, 15), 15), 15)
((((2, 15), 15), 15), 15)
>>>
cherchez l'erreur ...
alors qu'on devrait avoir en faisant la vraie multiplication
>>>
2
2.3
2.6449999999999996
3.041749999999999
3.498012499999999
>>>

j'ai remplacé le while par un for pour boucler sans condition et éviter d'avoir une erreur immédiatement au premier rebouclage

erreur parfaitement décrite (en anglais) par le message d'erreur :
(2, 15) est un tuple et pas le nombre 2.3, on ne peut donc pas le comparer avec la valeur de tn

erreur classique que ne font que les français, avec leur virgule décimale !

Posté par
carpediem
re : Suite(récurrence) avec python 30-09-20 à 17:17

merci mathafou ... mais cependant une question alors :

pourtant dans l'écriture T = T * 2,15  il n'y pas pas de parenthèses  ...

c'est automatiquement reconnu comme un tuple ? (j'avais bien lu cette histoire de tuple mais je ne comprenais pas parce qu'il n'y avait pas de parenthèses)

merci par avance

Posté par
mathafou Moderateur
re : Suite(récurrence) avec python 30-09-20 à 17:32

pour mettre les points sur les i :
parce que partout en programmation on doit utiliser un point décimal pour les nombres

la virgule veut dire une liste d'éléments séparés (appelé tuple en Python)
et ce n'est pas les parenthèses qui font les tuple, c'est les virgules

Posté par
JAJAAA
re : Suite(récurrence) avec python 30-09-20 à 17:41

Excusez-moi je recopie l'énoncé en entier... Désolée de ne pas avoir pris le temps avant de le recopier en entier.
Mes réponses sont en bleues.

Exercice :

Maxime s'est fixé comme objectif de participer aux 100km de Steenwerck dans le nord de la France.
Actuellement il court 2 heures le dimanche matin et décide d'augmenter son temps d'entraînement de 15% chaque semaine.
n étant un nombre entier naturel, on note tn le temps d'entraînement, en heures, de maxime n semaines après avoir pris sa décision.
On a ainsi t0= 2.

1. Compte tenu du contexte, quel est le sens de variation de la suite (tn) ?
Compte tenu du conexte la suite (tn) est croissante car Maxime décide d'augmenter ce temps d'entraînement de 15% chaque semaine.

2. Déterminer t1 et t2.
t1= t0*1,15=2*1,15=2,3
t2= t1*1,15= 2,3*1,15=2,645


3. Pour tout nombre entier n, écire une relation entre tn+1 et tn.
On considère tn+1= tn*1,15

4a. Justifier que t2=1,15^2*t0  et t3=1,15^3*t0.
15% revient à multiplier par 1,15 donc il suffit d'élever ce nombre à la puissance n qui correspond au nombre de semaines après la décision de Maxime et de multiplier le tout par 2 car le nombre d'heures qu'on augmente de 15% est 2.

b.Conjecturer une expression de tn en focntion de n
On conjecture que tn=1,15^n *2

5. Maxime pense devoir courir plus de 10 heures pour réussir à effectuer les 100km de Steenweerk.

a. En utilisant le résultat de la question 4b, déterminer le nombre de semaines d'entraînement que Maxime doit prévoir.
Grâce à ma calculatrice j'ai trouvé que Maxime doit prévoir 12 semaines d'entraînement.
1,15^12*2=10,7005


b. On désire retrouver le résultat à l'aide d'un algorithme. Compléter ci-dessous cet algorithme pour qu'il renvoie le nombre de semaines nécessaires afin de courir au moins 10heures.

Suite(récurrence) avec python

Posté par
carpediem
re : Suite(récurrence) avec python 30-09-20 à 18:17

mathafou : d'accord et merci ... pour les tuple je pensais qu'il fallait des parenthèses ...

je sais que la virgule est un séparateur et je n'avais pas tilté dessus vu ce que je dis avant...



JAJAAA : ton premier programme était presque bon ... mais pas tout à fait  : corrige déjà ce que dit mathafou et revois tout de même certaines choses ...

Posté par
JAJAAA
re : Suite(récurrence) avec python 30-09-20 à 18:25

J'ai donc corrigé et le programme me renvoie bien la valeur 12.

Merci beaucoup à vous.

Suite(récurrence) avec python

Posté par
carpediem
re : Suite(récurrence) avec python 30-09-20 à 18:40

bon là je ne comprends pas pourquoi ça ne marche pas ...

par contre il serait de se rappeler quel est le rôle de cet algo ?

PS : le résultat de 5a est faux

Posté par
JAJAAA
re : Suite(récurrence) avec python 30-09-20 à 18:50

Si le programme fonctionne bien en rouge sont les essaies avec le programme de tout à l'heure. Il faut regarder la dernière réponse du programme j'ai mal fait la capture d'écran.

Pourquoi le résultat de 5a est-il faux ?

Posté par
carpediem
re : Suite(récurrence) avec python 30-09-20 à 19:16

ha d'accord ...

et ha non ok !! c'est bon !!

Posté par
JAJAAA
re : Suite(récurrence) avec python 30-09-20 à 19:31

Super merci beaucoup pour votre aide bonne soirée

Posté par
carpediem
re : Suite(récurrence) avec python 30-09-20 à 19:37

merci et à toi aussi



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !