Misez P'tit, Optimisez - N°33 (angles & côtés d'un triangle)

Ici, on fait dans le petit, le LCD qui déchire sa race, on y cause même calculatrices quand on est en manque !

Modérateur : Politburo

Répondre
Avatar de l’utilisateur
Marge
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4523
Inscription : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Misez P'tit, Optimisez - N°33 (angles & côtés d'un triangle)

Message par Marge » 16 janv. 2013 13:41

Sommaire des MPO

Bonjour,

Un MPO un peu plus ardu aujourd'hui :

Soit un triangle quelconque dans un plan plan (euclidien, quoi) dont on connaît les coordonnées des trois sommets A, B et C - coordonnées cartésiennes (avec pour convention OI = OJ = 1m). Les coordonnées peuvent être négatives.

Déterminer les angles alpha (BÂC), beta (A^BC) et gamma (B^CA) en degrés ou en radians (choix libre) et la longueur de leurs côtés respectifs opposés a, b et c en mètres.

Théorème de Pythagore, trigonométrie, conversions polaires et cartésiennes sont les bienvenus - et d'autres outils si vous en voyez !

[OBS.: ce devrait être le premier MPO d'une série consacrée aux calculs astronomiques et de navigation que je relierais, le cas échéant, à la rubrique idoine :D ]

CLASSEMENT au 10/02/2013

1. HP-29c, 97 octets, par C.Ret, grâce à une intervention magistrale de zpalm !

2. TI-57, 103 octets par zpalm

3. HP-41, 103 octets, par zpalm

4. HP-15c, 104 octets, par zpalm

5. HP-29c, 116 octets, par Marge d'après une idée de babaorhum et avec une optimisation de zpalm

6. HP-29c, 118 octets, par Marge d'après une idée de babaorhum

7. HP-41, 125 octets, par zpalm

8. HP-15c, 126 octets, par zpalm

9. HP-41, 127 octets, par C.Ret et optimisé par zpalm

10. HP-29c, 128 octets, par Marge

11. HP-48gx, 133,5 octets, par bernouilli92

12. HP-28, 138 octets, par C.Ret

13. HP-41, 158 octets, par C.Ret

14. HP-50 & HP-48, 236,5 octets (164,5 sans les TAG), par Gilles59

15. HP-41, 179 octets, par babaorhum

16. HP-28s, 186 octets, par C.Ret

17. PC-1211, 215 octets + 15 registres (120 octets), par C.Ret

18. Casio Z-1, 351 octets + 10 variables (en C), par dprtl, d'après les travaux de babaorhum et C.Ret

19. HP-75C, 491 octets, par babaorhum

20. PC-1500, 409 octets + 12 variables, par babaorhum, premier programme publié !


Hors-concours :

HP-39GII, par Gilles59

Merci à tous les participants !
Dernière édition par Marge le 27 mars 2014 22:34, édité 16 fois.
3 hommes, 3 demis, un 3a... Magnéto, Serge !

« Boris », c'est juste Maurice enrhumé.

Avatar de l’utilisateur
C.Ret
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1996
Inscription : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par C.Ret » 16 janv. 2013 13:53

Bonjour,

Excellente idée que de préparer une série de MPO avec une ligne conductrice. Cela titille déjà ma curiosité naturelle.

Image

Bon, mais dans un premier temps, analysons ce nouveau problème...

ImageImage
... comment ne pas faire une usine à gaz ...
SHARP PC-1211 + CE-121 + CE-122. | VIC 20 Commodore 128D + Printer P-803. | TI-57 LCD | TI-74 BasiCalc | TI-92 II | HP-28S + HP82240A | HP-41C + (2 memory + stat + IR) modules. | HP Prime Wireless Graphing Calculator |HP-15C | CASIO fx-602p + FA-1. .Sommaire des M.P.O.. . Sommaire du P.C.T.M. .

Avatar de l’utilisateur
doum-doum
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 853
Inscription : 08 déc. 2012 17:24

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par doum-doum » 16 janv. 2013 19:52

Marge a écrit :Bonjour,

Un MPO un peu plus ardu aujourd'hui :

Soit un triangle quelconque dans un plan plan (euclidien, quoi) dont on connaît les coordonnées des trois sommets A, B et C - coordonnées cartésiennes (avec pour convention OI = OJ = 1m). Les coordonnées peuvent être négatives.

Déterminer les angles alpha (BÂC), beta (A^BC) et gamma (B^CA) en degrés ou en radians (choix libre) et la longueur de leurs côtés respectifs opposés a, b et c en mètres.

Théorème de Pythagore, trigonométrie, conversions polaires et cartésiennes sont les bienvenus - et d'autres outils si vous en voyez !

[OBS.: ce devrait être le premier MPO d'une série consacrée aux calculs astronomiques et de navigation que je relierais, le cas échéant, à la rubrique idoine :D ]
Toi tu as lu un des derniers numéros de tangentes ;) :mrgreen:

Avatar de l’utilisateur
badaze
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6738
Inscription : 12 févr. 2007 19:36
Localisation : Pas très loin de Lyon
Contact :

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par badaze » 16 janv. 2013 20:26

Je suis un peu comme Perceval dans Kaamelott. Lui c'est la droite, la gauche et les points cardinaux, moi c'est la géométrie. Ca n'est jamais rentré, ça ne rentre pas, ça ne rentrera jamais.
Tout est bon dans le pocket.
Moi j'aime tout.... Casio, HP, Sharp, TI et les autres sauf que les TI semblent ne pas m'aimer :(
http://www.emmella.fr
Mes Casio - HP - Sharp - TI
Homme invisible.

Avatar de l’utilisateur
Marge
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4523
Inscription : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par Marge » 16 janv. 2013 20:45

Allez, un p'tit coup d'main :D .

Il n'est pas trop difficile d'imaginer deux sous-programmes :

- l'un détermine les hypoténuses à partir des coordonnées (Pythagore) ;
- l'autre, grâce à la loi des cosinus applicable aux côtés déterminés ci-avant, donne l'angle.


a²=b²+c²-2.b.c.cos alpha



La difficulté (!) consiste alors à utiliser ces sous-programmes sans s'emmêler les pinceaux, comme disait Léonard de Vinci qui ne manquait pas d'humour.

(j'ai édité la formule, car je m'étais déjà emmêlé les pinceaux :mrgreen: )

Mais il y a peut-être d'autres chemins...
Dernière édition par Marge le 19 janv. 2013 18:35, édité 2 fois.
3 hommes, 3 demis, un 3a... Magnéto, Serge !

« Boris », c'est juste Maurice enrhumé.

Avatar de l’utilisateur
badaze
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6738
Inscription : 12 févr. 2007 19:36
Localisation : Pas très loin de Lyon
Contact :

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par badaze » 16 janv. 2013 20:52

Et en faisant 3 triangles rectangles ce serait pas plus facile ?
Tout est bon dans le pocket.
Moi j'aime tout.... Casio, HP, Sharp, TI et les autres sauf que les TI semblent ne pas m'aimer :(
http://www.emmella.fr
Mes Casio - HP - Sharp - TI
Homme invisible.

Avatar de l’utilisateur
Marge
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4523
Inscription : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par Marge » 16 janv. 2013 20:58

badaze a écrit :Et en faisant 3 triangles rectangles ce serait pas plus facile ?
Je ne sais pas, je ne vois rien 8) :lol: Tu les mets où, ces triangles ?
3 hommes, 3 demis, un 3a... Magnéto, Serge !

« Boris », c'est juste Maurice enrhumé.

Avatar de l’utilisateur
babaorhum
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 450
Inscription : 13 janv. 2013 20:44
Localisation : Toulon-ouest

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par babaorhum » 16 janv. 2013 21:56

Bonjour à tous,

Je me jette avec une première solution en ... basic ... (Sharp PC-1500)
donc pas optimisée, mais lisible
Pas sous programme, tout en ligne, c'est un début !

10 input "Point A - Entrer XA,YA :";XA,YA
20 input "Point B - Entrer XB,YB :";XB,YB
30 input "Point C - Entrer XC,YC :";XC,YC
40 AB = sqr((XB-XA)^2+(YB-YA)^2)
50 BC = sqr((XC-XB)^2+(YC-YB)^2)
60 AC = sqr((XC-XA)^2+(YC-YA)^2)
70 cc = ACS((BC^2+AC^2-AB^2)/(2*BC*AC))
80 AA = ACS((AC^2+AB^2-BC^2)/(2*AC*AB))
90 BB = 180-AA-CC
100 PRINT "**RESULTATS**"
110 PRINT "LONGUEUR AB :";AB
120 PRINT "LONGUEUR BC :";BC
130 PRINT "LONGUEUR AC :";AC
140 PRINT "ANGLE BAC:";AA
150 PRINT "ANGLE ABC:";BB
160 PRINT "ANGLE BCA:";CC
200 END

Et avec ce petit programme, je confirme longueurs et angles du triangle de C.ret avec A(9,5) ; B(5,7) et C(2,4)

au suivant !

EDIT du 6 février : je glisse discrètement une seconde version, un peu plus optimisée, toujours pour PC-1500

10 "T"DIM x(3),Y(3),D(3) : FOR I = 1 TO 3 INPUT X(I),Y(I) : NEXT I
20 FOR I = 1 TO 3 : GOSUB "M"
30 D(I)=SQR((x(I)-X(J))^2+(Y(I)-Y(J))^2) : PRINT "d(";I;")=";D(I) : NEXT I
40 FOR I = 1 TO 3 : GOSUB"M"
50 PRINT "a(";I;")=";ACS((D(K)^2+D(I)^2-D(J)^2)/2/D(I)/D(K)) : NEXT I
60 CLEAR : END
70 "M" J=I+1:IF I=3 THEN LET J=1
80 K=I-1:IF I=1 THEN LET K=3
90 RETURN

a bientôt !
Dernière édition par babaorhum le 06 févr. 2013 01:44, édité 2 fois.
BaBaoRhum
HP J728,200LX,1000CX,75C,71B, 48GX,42s,41CX,35s,32E,32Sii,28S,22s,21,16C,11C,12Cp
Sharp PC- E500,1600,1500,1350,1261,1245
Casio FX-502P,602p,850P,3900P,4000P
TI-74&92 ; Canon X-07 ; Panasonic HHC RL-H1400 ; TANDY EC-4026

Avatar de l’utilisateur
doum-doum
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 853
Inscription : 08 déc. 2012 17:24

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par doum-doum » 16 janv. 2013 22:00

Petite question connait on les coordonnées complexes des sommets des secteurs angulaires du triangle ?

Avatar de l’utilisateur
Marge
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4523
Inscription : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par Marge » 16 janv. 2013 22:25

babaorhum a écrit :Bonjour à tous,

Je me jette avec une première solution en ... basic ... (Sharp PC-1500)
donc pas optimisée, mais lisible
Pas sous programme, tout en ligne, c'est un début !

10 input "Point A - Entrer XA,YA :";XA,YA
20 input "Point B - Entrer XB,YB :";XB,YB
30 input "Point C - Entrer XC,YC :";XC,YC
40 AB = sqr((XB-XA)^2+(YB-YA)^2)
50 BC = sqr((XC-XB)^2+(YC-YB)^2)
60 AC = sqr((XC-XA)^2+(YC-YA)^2)
70 cc = ACS((BC^2+AC^2-AB^2)/(2*BC*AC))
80 AA = ACS((AC^2+AB^2-BC^2)/(2*AC*AB))
90 BB = 180-AA-CC
100 PRINT "**RESULTATS**"
110 PRINT "LONGUEUR AB :";AB
120 PRINT "LONGUEUR BC :";BC
130 PRINT "LONGUEUR AC :";AC
140 PRINT "ANGLE BAC:";AA
150 PRINT "ANGLE ABC:";BB
160 PRINT "ANGLE BCA:";CC
200 END

Et avec ce petit programme, je confirme longueurs et angles du triangle de C.ret avec A(9,5) ; B(5,7) et C(2,4)

au suivant !
Joli ! Le BASIC a clairement l'avantage de la lisibilité !
3 hommes, 3 demis, un 3a... Magnéto, Serge !

« Boris », c'est juste Maurice enrhumé.

Avatar de l’utilisateur
Marge
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4523
Inscription : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par Marge » 16 janv. 2013 22:54

doum-doum a écrit :Petite question connait on les coordonnées complexes des sommets des secteurs angulaires du triangle ?
Je n'ai pas compris la question, mais je suis une tanche en électricité (et en plein d'autres choses en fait...). On ne connaît que ce que j'ai donné, à savoir les coordonnées réelles dans un plan cartésien.
3 hommes, 3 demis, un 3a... Magnéto, Serge !

« Boris », c'est juste Maurice enrhumé.

Avatar de l’utilisateur
doum-doum
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 853
Inscription : 08 déc. 2012 17:24

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par doum-doum » 16 janv. 2013 23:08

Ben un nombre complexe, c'est une partie réelle et une imaginaire, si ton triangle est dans un plan, on peut l'organiser de façon à avoir les coordonnées soit complexes, soit polaires des "pointes " de ton triangle (les sommets des secteurs angulaires). Après c'est du calcul sur des coordonnées.
Enfin, si je suis dans un plan, pour situer ton triangle, il me faut bien un référentiel, d’après lequel je mesure.

Avatar de l’utilisateur
C.Ret
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1996
Inscription : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par C.Ret » 16 janv. 2013 23:55

Marge a écrit :Mais il y a peut-être d'autres chemins...
C'est très souhaitable.

D'autant plus que j'ai déjà bien avancé sur une autre voie et ce que je souhaite surtout c'est que celle-ci me conduira aux résultats escomptés...

Avec un peut de chance, ces chemins alternatifs seront aussi des rats qui courent et scient.

Image
SHARP PC-1211 + CE-121 + CE-122. | VIC 20 Commodore 128D + Printer P-803. | TI-57 LCD | TI-74 BasiCalc | TI-92 II | HP-28S + HP82240A | HP-41C + (2 memory + stat + IR) modules. | HP Prime Wireless Graphing Calculator |HP-15C | CASIO fx-602p + FA-1. .Sommaire des M.P.O.. . Sommaire du P.C.T.M. .

Avatar de l’utilisateur
badaze
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6738
Inscription : 12 févr. 2007 19:36
Localisation : Pas très loin de Lyon
Contact :

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par badaze » 17 janv. 2013 00:21

C.Ret a écrit :
Marge a écrit :Mais il y a peut-être d'autres chemins...
C'est très souhaitable.

D'autant plus que j'ai déjà bien avancé sur une autre voie et ce que je souhaite surtout c'est que celle-ci me conduira aux résultats escomptés...

Avec un peut de chance, ces chemins alternatifs seront aussi des rats qui courent et scient.

Image
On dirait un thème astral.
Tout est bon dans le pocket.
Moi j'aime tout.... Casio, HP, Sharp, TI et les autres sauf que les TI semblent ne pas m'aimer :(
http://www.emmella.fr
Mes Casio - HP - Sharp - TI
Homme invisible.

Avatar de l’utilisateur
Marge
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4523
Inscription : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par Marge » 17 janv. 2013 01:14

C.Ret a écrit :
Marge a écrit :Mais il y a peut-être d'autres chemins...
C'est très souhaitable.

D'autant plus que j'ai déjà bien avancé sur une autre voie et ce que je souhaite surtout c'est que celle-ci me conduira aux résultats escomptés...

Avec un peut de chance, ces chemins alternatifs seront aussi des rats qui courent et scient.

Image
Bon courage, C.Ret !
3 hommes, 3 demis, un 3a... Magnéto, Serge !

« Boris », c'est juste Maurice enrhumé.

Répondre

Revenir vers « Tous les Pockets »