Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
Discussion fermée
#1 17-11-2020 14:37:31
- didi78
- Membre
- Inscription : 17-11-2020
- Messages : 2
Python
bonjour, cela fait maintenant 1h que je suis bloquée dessus. Pouvez vous m'aider !
On donne 4 tuples de deux nombres correspondant aux coordonnées dans le plan de 4 points A, B, C et D. Vous écrirez une fonction qui nommée parallélogramme(A, B, C, D) qui retourne un booléen indiquant si ABCD est un parallélogramme.
Pour tester, A(-1, 2), B( 1, 5) , C(7, 4) , D (5, 1) est un parallélogramme,
A(1, 2), B( 2, 5) , C(7, 4) , D (5, 1) n’en est pas un.
Merci!
Hors ligne
#2 17-11-2020 16:30:09
- tibo
- Membre expert
- Inscription : 23-01-2008
- Messages : 1 097
Re : Python
Bonjour,
Qu'à tu essayé de faire ?
As-tu commencé à écrire un programme, mais il ne fonctionne pas ?
Si tu ne sais pas du tout par où commencer, il va falloir faire un peu de math :
Quels critères connais-tu pour déterminer si un quadrilatère est un parallélogramme ?
A quoi sert une hyperbole?
----- A boire de l'hypersoupe pardi !
Hors ligne
#3 17-11-2020 16:52:09
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 946
Re : Python
Bonjour,
Bah ! 1 h, c'est peu !... ^_^
Déjà
- si je prends un tuple A=(-1,2)représentant les coordonnées de A
- je peux accéder à l'abscisse par x=A[0], et à l'ordonnée par y=a[1]
Tu vas appeler ta fonction (par exemple) EstunParallelogramme.
Tu la notes ainsi
def EstunParallelogramme (A,B,C,D):
Ensuite, ABCD est un parallélogramme $\Longleftrightarrow$ $\overrightarrow{AB}=\overrightarrow{DC}$
(c'est le plus et le plus rapide et, de plus, moi j'aime les vecteurs)
Tu as donc besoin à partir des coordonnées de A, B, C, D - que tu vas passer à ta fonction - de calculer les coordonnées des deux vecteurs $\overrightarrow{AB}$ et $\overrightarrow{DC}$
Par exemple si je note $xAB$, la coordonnée horizontale et $yAB$ la coordonnée verticale du vecteur $\overrightarrow{AB}$
(Tu peux les appeler autrement pourvu que tu t'y retrouves...)
On calcule ainsi : $xAB =B[0]-A[0]$ et $yAB=B[1]-A[1]$
Petit rappel au cas où :
(abscisse de l'extrémité - abscisse de l'origine et (ordonnée de l'extrémité - ordonnée de l'origine
Ensuite comment savoir si les deux vecteurs sont égaux et retourner un booleen (VRAI /FAUX) ?
Simple :
Si $xAB==xDC$ et $yAB==yDC$ (alors):
retourne True
Sinon:
retourne False
Et tu peux appeler ta fonction ainsi :
print(EstunParallelogramme((-1,2),(1,5),(7,4),(5,1)))
Et s'affichera alors pour cet exemple : True
J'ai testé les eux exemples l'un après l'autre :
print(EstunParallelogramme((-1,2),(1,5),(7,4),(5,1)))
print(EstunParallelogramme((1,2),(2,5),(7,4),(5,1)))
Et j'obtiens :
True
False
Donc, ça fonctionne !
Mets de l'ordre dans tout ça, traduis en Python - et n'oublie pas l'indentation (décalages depuis la gauche)
@+
[EDIT] Je viens de voir : plus que grillé par tibo, carbonisé ! Désolé, si j'en dis trop, mais vu leur niveau, je doute qu'ils (elles) aient appris à extraire les composants d'un tuple...
Dernière modification par yoshi (17-11-2020 17:05:24)
Arx Tarpeia Capitoli proxima...
Hors ligne
#4 17-11-2020 19:45:49
- didi78
- Membre
- Inscription : 17-11-2020
- Messages : 2
Re : Python
Merci beaucoup !! je comprend beaucoup mieux!
Hors ligne
#5 17-11-2020 21:27:25
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 946
Re : Python
Bonsoir,
De plus, comme te le suggère tibo, possédant les coordonnées dans ta fonction, tu peux aussi utiliser l'une des 3 propriétés héritées des classes de 4e/3e pour voir si les 4 points forment un parallélogramme ou pas...
On ne te fait rien faire d'autre que des maths agrémentées à la sauce Python...
Donc ta réflexion doit commencer par envisager les outils mathématiques que tu vas devoir utiliser....
@+
Arx Tarpeia Capitoli proxima...
Hors ligne
Pages : 1
Discussion fermée