Exercice sur python

Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
Syrah11
Membre Naturel
Messages: 12
Enregistré le: 30 Oct 2018, 16:32

exercice sur python

par Syrah11 » 30 Oct 2018, 17:44

Ivan, Hubert et Céline veulent connaître une valeur approchée de la somme
des inverses des mille premiers nombres entiers positifs, c’est-à-dire de
1/1+1/2+1/3+....1/1000.
Ivan et Hubert proposent alors le programme Python
def sommeivanhubert(n)
for compteur in range(1,n):
s=1
s=1/compteur
return n

print (sommeivanhubert(1000))

leur fait remarquer de suite plusieurs erreurs.

1. Quelles erreurs Céline a-t-elle pu relever ? Corriger alors le programme écrit en Python.
2. Ivan exécute le programme corrigé par Céline et trouve une valeur approchée de 7,49 arrondi au centième.
Hubert réfléchit tout haut : " Pour avoir une valeur approchée au centième, il suffisait d'additionner les termes jusqu'au
nombre 1 sur 100 car au-delà les fractions sont négligeables et l'erreur doit être de moins de 1%".
Pensez-vous que Céline, qui est très rigoureuse, va accepter cet argument ? Justifier.



pascal16
Membre Légendaire
Messages: 6663
Enregistré le: 01 Mar 2017, 12:58
Localisation: Angoulème : Ville de la BD et du FFA. gare TGV

Re: exercice sur python

par pascal16 » 30 Oct 2018, 18:49

def sommeivanhubert(n)
for compteur in range(1,n):
s=1
s=1/compteur
return n

print (sommeivanhubert(1000))


s=1 -> met s à la valeur 1
s=1/compteur -> met s à la valeur 1/compteur

c'est un peu inutile ou mal conçu, non ?

Syrah11
Membre Naturel
Messages: 12
Enregistré le: 30 Oct 2018, 16:32

Re: exercice sur python

par Syrah11 » 30 Oct 2018, 19:06

J'ai pas compris les erreurs que celine a relevé ou corrigé?

pascal16
Membre Légendaire
Messages: 6663
Enregistré le: 01 Mar 2017, 12:58
Localisation: Angoulème : Ville de la BD et du FFA. gare TGV

Re: exercice sur python

par pascal16 » 30 Oct 2018, 19:15

si je dis
x vaut 1
x vaut 2
x vaut combien au final ?

Syrah11
Membre Naturel
Messages: 12
Enregistré le: 30 Oct 2018, 16:32

Re: exercice sur python

par Syrah11 » 02 Nov 2018, 10:49

je sais pas
x vaut le nombre donné?

Avatar de l’utilisateur
chadok
Membre Relatif
Messages: 320
Enregistré le: 04 Nov 2017, 21:44
Localisation: Bretagne

Re: exercice sur python

par chadok » 02 Nov 2018, 22:56

Un ordinateur, c'est idiot, donc sois aussi idiot que lui ;)
Si, dans un programme, tu écris x = 1, et qu'à la ligne juste en-dessous, tu écris x = 2, ton programme va te renvoyer que x est égal à 2. Normal : c'est la dernière instruction qu' il aura reçue.
Pascal16 t'explique que la première ligne "x = 1" est donc totalement inutile.
Maintenant, dans le cas qui t'intéresse, que se passe-t-il si, dans ton programme, tu écris "s=1", puis "s=1/compteur" juste en-dessous?

Avatar de l’utilisateur
chadok
Membre Relatif
Messages: 320
Enregistré le: 04 Nov 2017, 21:44
Localisation: Bretagne

Re: exercice sur python

par chadok » 02 Nov 2018, 23:22

Question suivante :
Le but de cette fonction est de faire la somme des inverses de n = 1 à n = 1000.
Que vas-tu afficher comme résultat, si tu termines ta fonction par "Return n" ?
Est-ce vraiment "n" que tu veux afficher, ou autre chose ?

Syrah11
Membre Naturel
Messages: 12
Enregistré le: 30 Oct 2018, 16:32

Re: exercice sur python

par Syrah11 » 03 Nov 2018, 14:41

Je pense qu'il faut afficher la somme des inverses.

Avatar de l’utilisateur
chadok
Membre Relatif
Messages: 320
Enregistré le: 04 Nov 2017, 21:44
Localisation: Bretagne

Re: exercice sur python

par chadok » 03 Nov 2018, 15:22

Merci pour ta réponse :)
Donc ta fonction se terminera vraisemblablement par "return s", et non par "return n".
A part ça, as-tu avancé sur le reste ? Et trouvé d'autres erreurs dans ce programme ?

Syrah11
Membre Naturel
Messages: 12
Enregistré le: 30 Oct 2018, 16:32

Re: exercice sur python

par Syrah11 » 03 Nov 2018, 19:14

je sais qu'il faut ajouter l'addition mais je n'y arrive pas pour l'instant,j'ai essayé de rajouter une variable V mais sns succes, mon programme donne ça mais c'est faux
def sommeivanhubert(n)
for compteur in range(1,n):
s=1/compteur
return s
print (sommeivanhubert(1000))

pour le reste je n'ai pas avancé je désespère

pascal16
Membre Légendaire
Messages: 6663
Enregistré le: 01 Mar 2017, 12:58
Localisation: Angoulème : Ville de la BD et du FFA. gare TGV

Re: exercice sur python

par pascal16 » 03 Nov 2018, 19:43

ajouter un nombre à un autre, ça donne ça :
s=s+1/compteur

Syrah11
Membre Naturel
Messages: 12
Enregistré le: 30 Oct 2018, 16:32

Re: exercice sur python

par Syrah11 » 03 Nov 2018, 20:34

merci pour ton aide qui m'est très précieuse
donc le programme donne
def sommeivanhubert(n)
for compteur in range(1,n):
s=1/compteur
s=s+1/compteur
return s
print (sommeivanhubert(1000))

Syrah11
Membre Naturel
Messages: 12
Enregistré le: 30 Oct 2018, 16:32

Re: exercice sur python

par Syrah11 » 03 Nov 2018, 20:40

j'ai essayé avec ce programme la ou j'ai rajouté une autre variable
def sommeivanhubert(n):
v=0
for compteur in range(1,n):
s=1/compteur
v=v+s
return v
print (sommeivanhubert(1000))

Avatar de l’utilisateur
chadok
Membre Relatif
Messages: 320
Enregistré le: 04 Nov 2017, 21:44
Localisation: Bretagne

Re: exercice sur python

par chadok » 03 Nov 2018, 22:28

Si c'est plus clair dans ta tête, tu peux effectivement ajouter cette variable v. Ton programme marche.
Par contre, il y a un piège avec la commande Python "in range" : la dernière valeur n'est pas incluse dans la plage, et il te manquera donc l'exécution de la toute dernière boucle. Tu contourneras très facilement le problème en écrivant "in range(1,n+1)" au lieu de "in range(1,n)".

Syrah11
Membre Naturel
Messages: 12
Enregistré le: 30 Oct 2018, 16:32

Re: exercice sur python

par Syrah11 » 04 Nov 2018, 07:47

merci donc ça donne
def sommeivanhubert(n):
v=0
for compteur in range(1,n+1):
s=1/compteur
v=v+s
return v
print (sommeivanhubert(1000))
pour la deuxième question je sais que Céline ne va pas se contenter de cet argument car le risque zéro n'existe pas et la marge de - 1% ne va pas lui plaire .mais je ne sais pas quoi dire de plus

 

Retourner vers ✎✎ Lycée

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 66 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite