Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#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

epfb.png
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

Pied de page des forums