Bonjour à tous, j'ai un DM à faire et je n'ai pas tout compris .
Voici l'énoncé :
Dans un repère orthonormé du plan on donne M(A;B) , N(C;D) , P(E;F).
Écrire un algorithme qui donne :
- en entrées : les coordonnées des points
- en sortie : la réponse à " Le triangle MNP est-il rectangle et en quel point ?"
En espérant que quelqu'un pourra m'aider,
Merci d'avance.
Bonjour, résous d'abord mathématiquement la question, il sera alors très facile de faire un algorithme.
Si on te donne les coordonnées de 3 points, comment sais-tu s'ils forment un triangle rectangle ou non, et en quel point ?
Mathématiquement il faut déjà trouver la taille de chaque segment en appliquant la formule
(xB-xA)2+(yB-yA)2
ensuite il faut utiliser le théorème de Pythagore pour savoir si le triangle est rectangle , c'est ça?
en revanche je ne sais pas comment savoir en quel point il est rectangle :/
Pour trouver en quel point, il va falloir que ton algorithme teste les 3 possibilités MN²+NP²=MP² ou bien MP²+MN²=NP², etc....
Pour décider où est l'hypoténuse (donc le plus grand des cotés) et donc trouver en quel point le triangle est rectangle (s'il l'est).
Mais donc tout ça je le traduis comment en algorithme sur ma calculatrice car ca fait plusieurs hypothèses à tester ?
tu testes les 3 égalités possibles
si aucune des trois n'est satisfaite, le triangle n'est pas rectangle, et sinon s'il y en a une qui marche tu affiches que le triangle est rectangle et suivant laquelle c'est tu indiques le point par lequel le triangle est rectangle.
Donc c'est assez simple à programmer, tu calcules les 3 distances au carré, tu fais les tests et suivant leur résultat tu affiches les conclusions.
Je n'arrive pas à l'écrire sur ma calculette il doit y avoir une faute car ça me met ''erreur syntaxe''.
Voila ce que j'ai écrit:
?A
?B
?C
?D
?E
?F
(C-A)2+(D-B)2
Z
(A-E)2+(B-F)2
X
(E-C)2+(F-D)2
Y
If Z2=X2+Y2
Then "rectangle"
If X2=Z2+Y2
Then "rectangle"
If Y2=Z2+X2
Then "rectangle"
Else "non rectangle"
IfEnd
Je ne pense pas que ce programme soit juste.
C'est pas mal, mais ça ne donne pas le point par lequel le triangle est rectangle ?
un petit effort et puis tu y es.
Bonjour,
Dans un triangle rectangle l'hypoténuse
est le côté le plus grand,
le sommet restant ...
Alain
Il vaut mieux affecter à X, Y et Z la somme des carrés des côtés plutôt que les racines carrées des sommes car les arrondis générés dans les calculs des racines carrées peuvent jouer les égalités au niveau des tests .
Bon après-midi,
Bonne remarque, nous n'avons pas besoin de calculer les côtés,
le plus grand carré correspond le cas échéant à l'hypoténuse,
Alain
1 VARIABLES
2 xm EST_DU_TYPE NOMBRE
3 ym EST_DU_TYPE NOMBRE
4 xn EST_DU_TYPE NOMBRE
5 yn EST_DU_TYPE NOMBRE
6 xp EST_DU_TYPE NOMBRE
7 yp EST_DU_TYPE NOMBRE
8 MN EST_DU_TYPE NOMBRE
9 NP EST_DU_TYPE NOMBRE
10 PM EST_DU_TYPE NOMBRE
11 DEBUT_ALGORITHME
12 LIRE xm
13 LIRE ym
14 LIRE xn
15 LIRE yn
16 LIRE xp
17 LIRE yp
18 MN PREND_LA_VALEUR pow(xn-xm,2)+pow(yn-ym,2)
19 NP PREND_LA_VALEUR pow(xp-xn,2)+pow(yp-yn,2)
20 PM PREND_LA_VALEUR pow(xm-xp,2)+pow(ym-yp,2)
21 SI (MN+NP==PM) ALORS
22 DEBUT_SI
23 AFFICHER "le triangle MNP est rectangle en N"
24 FIN_SI
25 SI(MN+PM==NP) ALORS
26 DEBUT_SI
27 AFFICHER "le triangle MNP est rectangle en M"
28 FIN_SI
29 SI (PM+NP==MN) ALORS
30 DEBUT_SI
31 AFFICHER "le triangle MNP est rectangle en P"
32 FIN_SI
33 FIN_ALGORITHME
étant moi même en seconde, j'ai donc essayer de le faire avec le logiciel algobox, celui avec lequel j'ai appris et il marche
bonne soirée
MNNP
PM=0 signifie qu'au moins un des côtés du triangle est nul et si tel est le cas, on n'a plus un triangle
Bonne fin de semaine,
Il est souvent nécessaire d'envisager les diverses erreurs de saisie
et les tests adaptés,
Alain
Bonsoir,
Ce que j'ai écrit s'impose davantage pour un programme partagé
par plusieurs utilisateurs ,
Alain
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :