Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 17-12-2020 16:37:36
- Lisou30000
- Membre
- Inscription : 06-12-2020
- Messages : 54
[Python]
Bonjour
j’ai un devoir à faire et j’aimerais un peu d’aide.
Je dois tout d’abord traduire en la gauge python l’algorithme suivant:
n<- 6
a<- 3
b<- 2racinede3
Tant que |b-a|>10
n<- n+1
a<- n sin(180degré/n)
b<- n tan(180degre/n)
Fin du tant que
j’ai donc écrit:
n=6
a=3
b=2*sqrt(3)
Puis je bloque pour cette instruction
Hors ligne
#2 17-12-2020 18:05:16
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 944
Re : [Python]
Bonsoir,
en la gauge
Hein ??! "gauge", kessékça ?
Passons.
1. J'ignore comment ça fonctionne dans ton Lycée, mais chez moi, pour pouvoir utiliser sqrt, tan, sin je suis obligé d'écrire en tout début de programme :
from math import sqrt, sin, tan
Mais les lignes trigonométriques calculent avec des angles en radians, donc si tu ne veux pas travailler directement en radians, il te faut convertir tes angles de degrés au radians, donc il te faut encore importer : radians.
Ta ligne est donc en fait :
from math import sqrt, sin, tan, radians
Exemple :
print(sin(radians(180))) te donne 1.2246467991473532e-16 soit $1 \times 10^{-16}$, donc 0...
2.
Je bloque pour cette instruction
Laquelle ? sqrt ? Pourquoi donc ? EXplique-toi...
@+
Arx Tarpeia Capitoli proxima...
En ligne
#3 17-12-2020 18:47:55
- Lisou30000
- Membre
- Inscription : 06-12-2020
- Messages : 54
Re : [Python]
Bonjour mon prof m’a demandé de ne pas calculer en radian et je bloque l’orque qu’il faut écrire tant que|b-a|>10
Hors ligne
#4 17-12-2020 20:04:45
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 944
Re : [Python]
RE,
Tu utilises le Python de ton Lycée, donc peut-être a-t-il été modifié et que les fonctions trigonométriques peuvent utiliser des degrés directement sans conversion et même que sqrt, sin et tan n'ont pas besoin d'être importés.
il n'y a que toi qui peut le savoir...
Moi, je n'ai qu'un Python standard non modifié... Bref, tu verras bien.
Alors, Tant que, c'est while et la valeur absolue, c'est abs(), donc |b-a| s'écrit abs(b-a).
Avec ça, tu peux continuer...
Go !
@+
Arx Tarpeia Capitoli proxima...
En ligne
#5 18-12-2020 07:30:52
- Lisou30000
- Membre
- Inscription : 06-12-2020
- Messages : 54
Re : [Python]
from maths import sqrt,sin,tan
n=6
a=3
b=2*sqrt(3)
while abs(b-a)>10**-1
n=n+1
a=n sin(180/n)
b=n tan(180/n)
Mais on me dit qu’il y a un problème indentation au niveau de while mais je n’arrive pas à bien le placer.
Hors ligne
#6 18-12-2020 08:29:42
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 944
Re : [Python]
Bonjour,
1. C'est : from math import...
math sans "s" à la fin
2. Maintenant tu annonces 10**-1 alors que dans ton 1er post tu as annoncé simplement 10.
3. Le message est trompeur : ce n'est pas un problème d'indentation, même si il est recommandé d'utiliser 4 espaces et non n14 comme tu le fais. Mais tu choisis bien l'indentation que tu veux pourvu que tu gardes dans ton script toujours la même...
Donc, l'erreur vient de ce que tu as oublié les deux points ":" en fin de ligne while...
Ces deux points disent à Python : attention à la ligne suivante commence un bloc (donc, il sera indenté).
Sans ce deux points Python attendait que les 3 lignes suivantes soient alignées avec le w de while.
Pigé ?
4. Ce n'est pas : n sin(180/n) mais n*sin(180/n) idem pour la tangente....
5. Moyennant quoi ton code corrigé fonctionne :
from math import sqrt sin, tan
n=6
a=3
b=2*sqrt(3)
while abs(b-a)>10**-1:
n=n+1
a=n*sin(180/n)
b=n*tan(180/n)
@+
Arx Tarpeia Capitoli proxima...
En ligne
#7 20-12-2020 09:53:24
- Lisou30000
- Membre
- Inscription : 06-12-2020
- Messages : 54
Re : [Python]
Merci beaucoup je comprends mieux maintenant j’aimerais un peu d’aide sur un autre exercice:
On utilise la méthode d’Archimède avec un exagone n=6
En encandrant le périmètre par l’Hexagone inscrit et par l’Hexagone exinscrit montrer que 3<=pi<=2racinede3
On admet pour la suite que pour tout entier naturel n>=4, on a
n sin(180degre/n)<=pi<= n tan(180degre/n)
Hors ligne
#8 20-12-2020 13:50:22
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 944
Re : [Python]
Re,
En encadrant le périmètre par l’Hexagone inscrit et par l’Hexagone exinscrit
Dans le cas de l'hexagone,
combien mesure l'angle $\widehat{AOB}$ ? Et donc l'angle $\widehat{AOH}$ (et pourquoi ?)
Combien mesure AH (en fonction de R) ?
Combien mesure A'H' (en fonction de R)
Quel est le périmètre p du cercle (en fonction de R) ?
Quel est le périmètre pi de l'hexagone inscrit (en fonction de R) ?
Quel est le périmètre pe de l'hexagone exinscrit (en fonction de R) ?
Ecris ensuite que $ pi\leqslant p \leqslant pe$
Simplifie.
Jusque-là ce sont des maths, quant à la partie informatique, tu verras ensuite que tu l'as déjà faite (sans le savoir)
@+
Arx Tarpeia Capitoli proxima...
En ligne
#9 21-12-2020 08:59:46
- Lisou30000
- Membre
- Inscription : 06-12-2020
- Messages : 54
Re : [Python]
L’angle aob fait 60degres donc l’angle aoh fait 30degres car h est la bise très he de l’angle aob qui coupe donc celui ci en deux angles égaux.
Je n’arrive ps à comprendre combien vaut AH en fonction de r
Hors ligne
#10 21-12-2020 09:33:21
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 944
Re : [Python]
Bonjour,
AHO est un triangle rectangle en H dont [OA] est l'hypoténuse...
Regarde la partie précédente de ton ton exo : crois-tu que celui l'a fabriqué a décidé de tous ces calculs étranges avec sin et tan ?
On est en plein dans la trigo !
Donc sers-toi de la trigo... Ça va très vite...
Quant à R, tu verras à la fin lorsque tu auras écris l'encadrement du périmètre( $2\pi R$) du cercle au moment de simplifier cette écriture que les R vont se simplifier (et disparaître).
N-B (au cas où) :
R = rayon du cercle = OA = OH'
@+
Arx Tarpeia Capitoli proxima...
En ligne
#11 21-12-2020 10:57:32
- Lisou30000
- Membre
- Inscription : 06-12-2020
- Messages : 54
Re : [Python]
Excusez moi mais je ne comprends pas bien.
Hors ligne
#12 21-12-2020 11:44:28
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 944
Re : [Python]
Re,
Dans le triangle AOH rectangle en H, l'hypoténuse est [OA] (OA=R), tu cherches AH qui est le côté opposé à l'angle $\widehat{AOH}$.
Entre sinus, cosinus et tangente tu choisis quoi quand tu cherches AH connaissant OA (R) ?
Dans le triangle A'OH', l'hypoténuse est [OA'] mais on ne connaît sa valeur et ça n'a pas d'importance puisque [OH'] (OH'=R) est le côté adjacent à l'angle $\widehat{A'OH'}$ (qui a la même mesure que $\widehat{AOH}$) et tu cherches AH' qui est la longueur du côté opposé.
Entre sinus, cosinus et tangente tu choisis quoi quand tu cherches A'H' connaissant OH' (R) ?
C'est plus clair ?
Si ce n'est pas la réponse à ta question, alors peux-tu la reformuler en étant plus précise ? Parce que "Je ne comprends pas bien" ça ne m'aide pas beaucoup à t'aider ^_^...
@+
Arx Tarpeia Capitoli proxima...
En ligne
#13 21-12-2020 15:11:58
- Lisou30000
- Membre
- Inscription : 06-12-2020
- Messages : 54
Re : [Python]
Je pense avoir trouvé, je trouve pour HA
AI=tan(30)/R
ET H’A’=sin(30)/R
Hors ligne
#14 21-12-2020 17:52:03
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 944
Re : [Python]
Bonsoir,
Bin oui et non...Oui, c'est presque ça, non pour deux raisons.
1. Tu dois être fâchée avec les définitions de sin, cos et tan.
Alors soit tu révises ton programme de Collège, soit tu apprends ceztte phrase idiote : Mon cacatoes s'appelle SohCahToa...
Phrase idiote, mais parce qu'elle est idiote tu t'en rappelleras (elle contient les 3 définitions) :
Soh : S comme sinus, o comme (côté) opposé et h comme hypoténuse
Cah : C comme cosinus, a ,comme (côté) adjacent et h comme hypoténuse
Toa : T comme tangente, o comme (côté) opposé et a comme (côté) adjacent
Dans le triangle AOH rectangle en H :
$\sin(\widehat{AOH}) = \dfrac{AH}{OA}$, $\cos(\widehat{AOH}) = \dfrac{OH}{OA}$, $\tan(\widehat{AOH}) = \dfrac{AH}{OH}$
Dans ce triangle, tu cherches AH (côté opposé à l'angle) et tu vas l'exprimer en fonction du rayon qui est OA (=R), hypoténuse, donc tu dois utiliser le sinus :
$\sin (30°)=\dfrac{AH}{R}$
Dans le triangle A'OH' rectangle en H :
$\sin(\widehat{A'OH'}) = \dfrac{A'H'}{OA'}$, $\cos(\widehat{A'OH'}) = \dfrac{OH}{OA}$, $\tan(\widehat{A'OH'}) = \dfrac{A'H'}{OH'}$
2. Tu commets une erreur classique courante en Collège, que tu ne devrais plus faire. Probablement qu'on ne t'a pas donné l'astuce que voici :
$\sin (30°)=\dfrac{AH}{R}$ ce n'est pas très "parlant" alors écrit le comme ça : $\dfrac{\sin (30°)}{1}=\dfrac{AH}{R}$
Et si j'utilise la prporiété d'égalité des produits en croix, j'écris :
$1\times AH = R\times \sin(30^\circ)$ c'est à dire $AH =R\times \sin(30^\circ)$
Maintenant tu remplaces $\sin(30^\circ)$ par sa valeur et sachant que AH c'est un demi-côté, tu en déduis AB, puis le périmètre $p_i$ de l'hexagone inscrit...
Ça y est, c'est bon ? Question ? Si non, alors à toi de jouer avec le triangle A'OH' et pas d'erreur, hein ?
@+
Arx Tarpeia Capitoli proxima...
En ligne
#15 22-12-2020 07:53:32
- Lisou30000
- Membre
- Inscription : 06-12-2020
- Messages : 54
Re : [Python]
Pour l’hexagone inscrit, je trouve donc après AB=2AHx1/2
Donc p=2Rx1/2x6=2Rx1/12
ou bien faut il mettre le tout fois 6
Hors ligne
#16 22-12-2020 08:03:24
- Lisou30000
- Membre
- Inscription : 06-12-2020
- Messages : 54
Re : [Python]
Puis je trouve ensuite pe = (2R*3racinede3)*6
Hors ligne
#17 22-12-2020 09:09:55
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 944
Re : [Python]
Bonjour,
1.
Pour l’hexagone inscrit, je trouve donc après AB=2AHx1/2
J'ai pourtant écrit $AH = R \times \sin(30^\circ)$ et non $AB = AH\times \sin(30^\circ)$
$AH=\dfrac{R}{2}$
De plus AH est la moitié de AB. Si $AH=\dfrac{R}{2}$, combien vaut AB ?
L'hexagone ayant 6 côtés, quel est le périmètre $p_i$ de l'hexagone inscrit ?
2.
Puis je trouve ensuite pe = (2R*3racinede3)*6
Que vient faire là ce 3 ? En outre, il te manque un dénominateur !
Dans le triangle OH'A', on utilise la tangente :
$A'H'=R\times \tan(30°)$ la valeur exacte de tan(30°) - on la trouve dans tous le bouquins - est $\dfrac{\sqrt 3}{3}$
Donc $A'H'=R\times \dfrac{\sqrt 3}{3}$
A'H' est la moitié de A'B', combien vaut A'B' ?
L'hexagone ayant 6 côtés, quel est le périmètre $p_e$ de l'hexagone exinscrit ?
3. Quel est le périmètre $p_c$ du cercle ?
4. Ecris maintenant que $p_i\leqslant p_c\leqslant p_e$
5. Par quoi peux-tu simplifier cet encadrement ? Fais-le !
@+
Arx Tarpeia Capitoli proxima...
En ligne
#18 22-12-2020 09:42:18
- Lisou30000
- Membre
- Inscription : 06-12-2020
- Messages : 54
Re : [Python]
Donc je trouve AB=2R/2
Hors ligne
#19 22-12-2020 09:43:21
- Lisou30000
- Membre
- Inscription : 06-12-2020
- Messages : 54
Re : [Python]
Donc pi=2R/2 *6
Hors ligne
#20 22-12-2020 09:46:19
- Lisou30000
- Membre
- Inscription : 06-12-2020
- Messages : 54
Re : [Python]
Puis A’B’=2R*racinede3/3
Donc pe =(2R*racinede3/3)*6
Hors ligne
#21 22-12-2020 10:02:41
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 944
Re : [Python]
Re,
1. Oui : pi=2R/2 *6. Mais tu devrais déjà simplifier ça : $p_i=\dfrac{2R}{2}\times 6$ ?
2. Oui : pe =(2R*racinede3/3)*6.Mais tu devrais déjà simplifier ça : $p_e=\dfrac{2R\sqrt 3}{3}\times 6$ ?
Comme ça, tu ne traîneras plus de fractions...
3. Périmètre du cercle ?
4. Encadrement ?
5. encadrement simplifié ?
@+
Arx Tarpeia Capitoli proxima...
En ligne
#22 22-12-2020 10:14:42
- Lisou30000
- Membre
- Inscription : 06-12-2020
- Messages : 54
Re : [Python]
Pour le deuxième ce n’est pas plutôt 2R*(
Racinede3/3)*6
Hors ligne
#23 22-12-2020 10:17:25
- Lisou30000
- Membre
- Inscription : 06-12-2020
- Messages : 54
Re : [Python]
Ah si pardon
Hors ligne
#24 22-12-2020 10:28:02
- Lisou30000
- Membre
- Inscription : 06-12-2020
- Messages : 54
Re : [Python]
Je trouve donc 3<=Po<=2racinede3
Hors ligne
#25 22-12-2020 11:13:36
- Lisou30000
- Membre
- Inscription : 06-12-2020
- Messages : 54
Re : [Python]
Je dois maintenant compléter un programme, mais il faut que je vous l’envoie en photo comment faire
Hors ligne