Inscription / Connexion Nouveau Sujet
Niveau terminale
Partager :

Une conjecture informatique

Posté par
Lou0115
27-10-23 à 21:04

Bonjour, j'aurais besoin d'aide pour mon exercice de maths sur Python car je ne suis pas très fort sur Python.

Soit (un) la suite définie par u0= 5 et, pour tout entier naturel n, un+1=(4un−1)/(un+ 2)

a) Recopier et compléter le programme ci-dessous pour qu'il affiche la liste des n premiers termes de la suite arrondis au centième.
b)  Écrire ce programme dans un éditeur Python
c)  Afficher liste(100) puis liste(1000)
Quelles conjectures peut-on émettre sur le sens de variation et sur la convergence de la suite (un) ?

Une conjecture informatique

Posté par
Leile
re : Une conjecture informatique 27-10-23 à 21:12

bonsoir,


qu'as tu essayé de faire ?

Posté par
Lou0115
re : Une conjecture informatique 27-10-23 à 21:17

Pour la première question j'avais mis
u=5

for i in range ( n,  n+1)
u= (4u-1)/(u+2)

Posté par
Leile
re : Une conjecture informatique 27-10-23 à 21:29

as tu calculé u1  et u2  à la main, juste pour voir ?

au départ, en effet  u=5
avec l'instruction L=[u],   tu places   5  dans la liste.
c'est bien

ensuite tu fais une boucle for
si tu écris   for i in range ( n,  n+1)   ca veut dire que tu veux passer pour i allant de   n à  n+1 - 1    soit combien de fois ?

Quand tu passes dans cette boucle la première fois, tu calcules u=(4u-1)/(u+2) , que vas tu obtenir ?

Posté par
ZEDMAT
re : Une conjecture informatique 27-10-23 à 21:45

Bonsoir,
De passage, attiré par Python....
En attendant que Leile revienne...

Citation :
for i in range ( n,  n+1)
ne convient pas

Posté par
ZEDMAT
re : Une conjecture informatique 27-10-23 à 21:47

Le temps que je saisisse ce script et le teste... Leile était de retour.
Désolé, je m'éclipse.

Posté par
Lou0115
re : Une conjecture informatique 27-10-23 à 22:07

Leile @ 27-10-2023 à 21:29

as tu calculé u1  et u2  à la main, juste pour voir ?

u1 = 19/72,7
u2 = 23/112,1
Donc la suite semble être décroissante

Posté par
Leile
re : Une conjecture informatique 27-10-23 à 22:10

OK pour u1 et u2.
nb : il n'est pas utile de citer mes messages.

la boucle for :
si tu écris   for i in range ( n,  n+1)   ca veut dire que tu veux passer pour i allant de   n à  n+1 - 1    soit combien de fois ?

Quand tu passes dans cette boucle la première fois, tu calcules u=(4u-1)/(u+2) , que vas tu obtenir ?

Posté par
Lou0115
re : Une conjecture informatique 27-10-23 à 22:13

Leile @ 27-10-2023 à 21:29



ensuite tu fais une boucle for
si tu écris   for i in range ( n,  n+1)   ca veut dire que tu veux passer pour i allant de   n à  n+1 - 1    soit combien de fois ?

Quand tu passes dans cette boucle la première fois, tu calcules u=(4u-1)/(u+2) , que vas tu obtenir ?


pour i allant de n à n+1 c'est juste 1 fois ?

La première fois que je vais passer par cette boucle, je vais obtenir u1 ?

Posté par
Leile
re : Une conjecture informatique 27-10-23 à 22:17

inutile de citer mes messages.

oui, pour i allant de n à n+1 c'est juste 1 fois,   et oui, en passant dans la boucle une fois tu vas calculer u1.
toi tu veux calculer tous les termes de 1 à n.
tu veux passer dans la boucle pour i allant de ?   à  ?
donc   tu vas écrire   for i  in range( ??  ,   ??)

Posté par
Lou0115
re : Une conjecture informatique 27-10-23 à 22:20

Donc je dois écrire for i in range (1, n) ?

Posté par
Leile
re : Une conjecture informatique 27-10-23 à 22:25

mieux !

on va plutot écrire for i in range (1 , n+1)  pour que python aille jusque n compris.

donc ca donne :
def liste(n):
        u=5
        L=[u]
        for i in range(1, n+1):
                    u = (4*u-1)/(u+2)
                    L.append(round(u,2))
        return L
remarque que j'ai écrit   4*u  (au lieu de 4u qui ne va pas pour python).
l'instruction L.append   ajoute à la liste L un élement (à chaque tour).

saisis cet algo et fais le tourner pour n = 5  par exemple.
pour le lancer et afficher le résultat, tu peux taper
print (liste(5))    

qu'est ce que tu obtiens ?

Posté par
Lou0115
re : Une conjecture informatique 27-10-23 à 22:32

J'obtiens la liste des 5 premiers termes. [5, 2.71, 2.09, 1.8, 1.63, 1.52]
Merci beaucoup

Et donc si j'ai bien compris pour obtenir la liste (100) et (1000) je dois remplacer n+1 par 100 et 1000 ?

Posté par
Leile
re : Une conjecture informatique 27-10-23 à 22:35

ou plutot, tu lances ton algo avec
print (liste(100))     ou print(liste(1000))  

ou bien  tu saisis n
et tu écris   print(liste(n))...

Posté par
Lou0115
re : Une conjecture informatique 27-10-23 à 22:36

Et les conjectures que l'on peut émettre sur le sens de variation et la convergence sont :
- la suite un semble décroissante
- la suite un semble converger vers 1

Posté par
Lou0115
re : Une conjecture informatique 27-10-23 à 22:37

Leile @ 27-10-2023 à 22:35

ou plutot, tu lances ton algo avec
print (liste(100))     ou print(liste(1000))  

ou bien  tu saisis n
et tu écris   print(liste(n))...

d'accord merci encore

Posté par
Leile
re : Une conjecture informatique 27-10-23 à 22:39

oui, la suite est décroissante,   et elle semble converger vers 1.

As tu tout compris ?

Posté par
Leile
re : Une conjecture informatique 27-10-23 à 22:40

ne cite pas mes messages, stp ! ça prend de la place, et ça ne sert à rien ici.

Posté par
Lou0115
re : Une conjecture informatique 27-10-23 à 22:40

Oui merci encore d'avoir pris le temps de répondre à mes questions Bonne soirée

Posté par
Leile
re : Une conjecture informatique 27-10-23 à 22:44

bonne soirée à toi aussi,
à une prochaine fois peut-être.

Posté par
alma78
re : Une conjecture informatique 28-10-23 à 11:09

Bonjour

Attention, si on veut que le programme « liste(n) » affiche les n premiers termes de la suite, il faut s'arrêter un cran avant.
En effet, on démarre avec u0, donc on doit s'arrêter à un-1.
La liste L est initialisée avec u0, la boucle « for » doit donc démarrer à 1 et s'arrêter à n-1 inclus.

Posté par
Leile
re : Une conjecture informatique 28-10-23 à 13:08

bonjour alma78,

tu as raison, si on compte u0   comme premier terme, il faut s'arrêter un cran avant.

la boucle for doit alors s'écrire   for i in range (1 , n)

heureusement, cela n'impacte pas les conjectures.

Posté par
Lou0115
re : Une conjecture informatique 02-11-23 à 15:17

cela veut dire que mon programme est faux ?

Posté par
Leile
re : Une conjecture informatique 02-11-23 à 16:11

non, Lou0115, ca ne veut pas dire que ton programme est faux !

ca veut dire que si tu écris
for i in range (1 , n)    tu auras les n premiers termes y compris u0.

si tu écris
for i in range (1 , n+1)   tu auras les n premiers termes après u0, ou si tu préfères les n+1 premiers termes y compris u0.
(Donc un terme de plus).
pour n=100, tu afficheras 101 valeurs. Et pour n=1000 tu afficheras 1001 valeurs.

Cela ne change rien à ta conjecture.  

Posté par
Lou0115
re : Une conjecture informatique 02-11-23 à 16:18

D'accord merci, j'ai donc changer et j'ai mis for i in range (1,n)
Merci



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 !