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
Gilles59
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1290
Inscription : 27 oct. 2010 20:46

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

Message par Gilles59 » 21 janv. 2013 20:09

Un p'tit coup de HP50 et en utilisant les 'complexes'

Code : Tout sélectionner

«
   -> A B C
  «
    C B - ABS 'a' ->TAG
    C A - ABS 'b' ->TAG
    B A - ABS 'c' ->TAG
    
    A B - ARG
    A C - ARG - 'α' ->TAG
    
    B C - ARG
    B A - ARG - 'ß' ->TAG
    
    C A - ARG
    C B - ARG - 'γ' ->TAG
  »
»
Exemple :

En entrée :

Code : Tout sélectionner

 (8 2)
 (1 1)
 (4 4)
En sortie

Code : Tout sélectionner

 a:4.24...
 b:4.47...
 c:7.07...
 α:34.6...
 ß:36.86.....
 γ:108.43..
Les points doivent entrés dans le sens trigonométrique pour eviter les angles négatifs ou complémentaires (j'ai pas trop testé cet apect en fait)

->TAG permet juste d'afficher un commentaire pour un objet sur la pile... On peut supprimer tout cela, mais l'emploi de TAG permet de clarifier la 'sortie' (et n'empêche pas de faire des calcul apres, le TAG sera perdu)
Casio FX-502P /602P / 603P / FX180P+ / FX4000P / TI57 / TI66 / TI74 Basicalc / TI95 Procalc / HP12C / HP15C LE / DM41L / HP 30B / HP39GII / HP 48SX USA / 49G / 49G+ / 50G / 50G NewRPL / HP Prime / Oric 1 / Amstrad CPC 6128+

Avatar de l’utilisateur
Marge
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4538
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 » 21 janv. 2013 21:00

Eh bien, ça dépote avec une 50. Excellent, Gilles ! Combien d'octets ça nous fait, ce joli petit programme ?
3 hommes, 3 demis, un 3a... Magnéto, Serge !

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

Gilles59
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1290
Inscription : 27 oct. 2010 20:46

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

Message par Gilles59 » 21 janv. 2013 21:16

Marge a écrit :Eh bien, ça dépote avec une 50. Excellent, Gilles ! Combien d'octets ça nous fait, ce joli petit programme ?
Hello

236,5 octets (164,5 sans les TAG).
Ca doit marcher sur les 'anciennes' aussi je pense ( 28 et 48)
Casio FX-502P /602P / 603P / FX180P+ / FX4000P / TI57 / TI66 / TI74 Basicalc / TI95 Procalc / HP12C / HP15C LE / DM41L / HP 30B / HP39GII / HP 48SX USA / 49G / 49G+ / 50G / 50G NewRPL / HP Prime / Oric 1 / Amstrad CPC 6128+

Avatar de l’utilisateur
bernouilli92
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3086
Inscription : 21 nov. 2012 14:03
Localisation : Ile de France

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

Message par bernouilli92 » 21 janv. 2013 22:04

Je confirme, cela fonctionne sur hp48. Pour hp28, je n'ai pas testé.
HP, Casio, Sharp, Psion, quelques TI et divers autres

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 » 21 janv. 2013 22:44

Bonsoir à tous,

Sur le HP-50 de Gilles59 ... le code est tellement simple ... cette machine est faite spécialement pour résoudre les pb de triangle ?

Marge pour ton bilan,
Je suis totalement hors concours, mais, l'important c'est de participer, comme disait le Baron, alors mes p'tis codes donnent :
- 409 octets sur PC-1500 (+les 12 variables).........................(post de mercredi)
- 107 octets sur HP-41 (après le GTO..) + 9 registres............(post de vendredi)
je crois qu'un registre = 8 octets sur la 41, mon pgm utilise donc 179 octets en tout - je ne connais pas l'équivalent mémoire des registres du PC-1500, mais mon basic n'est pas optimisé du tout ... mais il est sorti le premier !

@ bientôt
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

Gilles59
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1290
Inscription : 27 oct. 2010 20:46

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

Message par Gilles59 » 21 janv. 2013 23:05

babaorhum a écrit :Bonsoir à tous,

Sur le HP-50 de Gilles59 ... le code est tellement simple ... cette machine est faite spécialement pour résoudre les pb de triangle ?
Pas spécialement. C'est les nombres complexes qui simplifient les calculs (on pourrait aussi utiliser des vecteurs)
Par contre la 39GII a une "Apps" intégrée pour résoudre des problème de triangles.(mais pas celui là)

Ce que j'aime bien dans 'optimisez' c'est les différentes solutions pour les différentes (et le mêmes machine) ;) Toutes les solutions sont intéressantes

SUur 49/50 il y a sand doute moyen de faire plus court avec les listes

PICK3 4 ->LIST DeltaLIST ABS

donne a b c
Casio FX-502P /602P / 603P / FX180P+ / FX4000P / TI57 / TI66 / TI74 Basicalc / TI95 Procalc / HP12C / HP15C LE / DM41L / HP 30B / HP39GII / HP 48SX USA / 49G / 49G+ / 50G / 50G NewRPL / HP Prime / Oric 1 / Amstrad CPC 6128+

Avatar de l’utilisateur
zpalm
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2499
Inscription : 03 mai 2008 15:33
Localisation : Grenoble

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

Message par zpalm » 22 janv. 2013 00:15

Gilles59 a écrit :Ce que j'aime bien dans 'optimisez' c'est les différentes solutions pour les différentes (et le mêmes machine) ;) Toutes les solutions sont intéressantes
Moi aussi, il y a plein d'idées dans chaque solution auxquelles je n'aurais pas pensé ....

Avatar de l’utilisateur
C.Ret
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1997
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 » 22 janv. 2013 01:00

Dans le mêm style, sur HP-28S, on a pas de TAGs, donc on est condanné à faire plus court !

Dans le mêm genre (mais plus long et moins lisible :

Code : Tout sélectionner

« -> A B C
  «  
     B C - R->P 
     C A - R->P
     A B - R->P   -> a b c
     « a RE     b c - IM -1 ACOS MOD
       b RE     c a - IM -1 ACOS MOD
       c RE     a b - IM -1 ACOS MOD  
       { 3 2 } ->ARRY
    »
  »
»
Les réultats sont sous forme d'une matrice
[[ a ^A° ]
[ b ^B° ]
[ c ^C° ]]

Il doit y avoir un moyen de simplifier, on voit clairement les répétitions et la rotations des arguments a b c ROT b c a ROT c a b ?
Une piste à creuser ?


Sinon, je propose une version pour HP29C (mais pas testée !)

Code : Tout sélectionner

                                                         a     b     c  C^AB° A^BC° B^CA°
              t:        z:       y:       x:      L:    R1:   R2:   R3:   R4:   R5:   R6:

                               [ xa ]   [ ya ]                                  
                                                            
001 STO 4                        xa       ya                               ya        
002 X<>Y                         ya       xa                                    
003 STO 2                        ya       xa                   xa          ya        
004 R/S                        [ xb ]   [ yb ]                                    
005 STO 6                        xb       yb                   xa          ya          yb
006 RCL 4               xb       yb       ya                   xa          ya          yb
007 -                            xb    yb-ya      ya                            
008 x:y                       yb-ya       xb                                    
009 STO 1                     yb-ya       xb             xb    xa          ya          yb
010 RCL 2            yb-ya       xb       xa             xb    xa          ya          yb
011 -                         yb-ya    xb-xa      xa                            
012 ->P                         ba°        c   xb-xa                            
013 STO 3                       ba°        c             xb    xa    c     ya          yb
014 Rdn                                  ba°                                    
015 STO 5                                ba°             xb    xa    c     ya    ba°   yb
016 R/S                ba°     [ xc ]   [ yc ]                                  
017 STO - 4            ba°       xc       yc             xb    xa    c  ya-yc    ba°   yb
018 RCL 6      ba°      xc       yc       yb             xb    xa    c  ya-yc    ba°   yb
019 -                  ba°       xc    yc-yb      yb                            
020 x:y                ba°    yc-yb       xc                                    
021 STO - 2            ba°    yc-yb       xc             xb xa-xc    c  ya-yc    ba°    
022 RCL 1      ba°   yc-yb       xc       xb             xb xa-xc    c  ya-yc    ba°    
023 -                  ba°    yc-yb    xc-xb      xb                            
024 ->P                ba°      cb°        a   xc-xb                            
025 STO 1              ba°      cb°        a             a  xa-xc    c  ya-yc    ba°    
026 Rdn                         ba°      cb°                                    
027 STO 6                       ba°      cb°             a  xa-xc    c  ya-yc    ba°   cb°
028 GSB 9                           (ba-bc)°    180°                            
029 STO 5                           (ba-bc)°             a  xa-xc    c  ya-yc (ba-bc)° cb°
030 lastx                  (ba-bc)°     180°                                    
031 x:y                        180° (ba-bc)°                                    
032 RCL 4             180° (ba-bc)°    ya-yc             a  xa-xc    c  ya-yc (ba-bc)° cb°
033 CHS              180° (ba-bc)°    yc-ya                                    
034 RCL 2    180° (ba-bc)°    yc-ya    xa-xc             a  xa-xc    c  ya-yc (ba-bc)° cb°
035 CHS      180° (ba-bc)°    yc-ya    xc-xa                                    
036 ->P      180° (ba-bc)°      ca°        b                                    
037 STO 2    180° (ba-bc)°      ca°        b             a     b     c  ya-yc (ba-bc)° cb°
038 Rdn               180° (ba-bc)°      ca°                                    
039 RCL 6    180° (ba-bc)°      ca°      cb°             a     b     c  ya-yc (ba-bc)° cb°
040 x:y      180° (ba-bc)°      cb°      ca°                                    
041 GSB 9             180° (ba-bc)° (cb-ac)°    180°                            
042 STO 6             180° (ba-bc)° (cb-ac)°             a     b     c  ya-yc (ba-bc)° (cb-ca)°
043 +                          180°  ^b°-^c°                                    
044 -                                    ^a°                                    
045 STO 4                                ^a°             a     b     c    ^A°    ^B°    ^C°
046 RTN                                  ^a°                                    
                                                            
047 LBL 9      x'       y'       a°       b°                                    
048 -                   x'       y'    a°-b°                                    
049 1          x'       y'    a°-b°        1                                    
050 CHS        x'       y'    a°-b°       -1       1                            
051 COS^-1     x'       y'    a°-b°     180°      -1                            
052 +                   x'       y' a-b+180°    180°                            
053 lastx               x'       y' a-b+180°    180°                                    
054 /          x'       x'       y'    r.xyz    180°                            
055 lastx      x'       y'        r     180°                                    
056 x:y        x'       y'     180°    r.xyz                                    
057 FRC        x'       y'     180°     .xyz   r.xyz                            
058 x:y        x'       y'     .xyz     180°                                    
059 *                   x'       y'   (a-b)°    180°                            
060 RTN                                                        
Même utilisation et comportement que pour HP41C, avec (presque) le même nombre de pas !

Les résultats sont dans les registre R1 à R3 pour les longueur des cotés et R4 à R6 pour les angles.
Aucun autres registres (hors la pile) ne sont utilisés.

Les coordonnées des trois sommets sont entrés x [ENTER^] y [R/S]
L'ordre des sommet n'a pas d'incidence sur les valeurs, uniquemetn sur leur ordre (il n'y a donc pas besoin de tourner autour du triangle dans un sens ou l'autre !).

En principe, les trois modes trigonométriques sont supportés.
Mais je ne suis pas chez moi, je n'est pas d'émulateur sous la main !
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
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6498
Inscription : 31 janv. 2008 15:24
Localisation : Banlieue Paârisienne
Contact :

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

Message par gege » 22 janv. 2013 01:03

Ben dis donc, quel succès ce MPO !
Allez je vais vous concocter un challenge encore plus relevé sur le calcul des angles d'un carré...

G.E. :arrow:

Avatar de l’utilisateur
C.Ret
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1997
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 » 22 janv. 2013 01:26

« 0 ACOS »

(ou « 1 ASIN » )

Va et'dur à optimiser le MPO du carré !
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
Marge
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4538
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 » 22 janv. 2013 02:09

Prodigieux, C.Ret, le programme que tu nous as mitonné à l'aveugle pour l'HP-29c fonctionne plutôt bien ! Et en plus, il est particulièrement rapide, toutes mes félicitations !

EDIT ; un petit bémol sur les "signes" des angles : A(0,0), B(5,5) et C(10,0) donne 7.07, 10, 7.07,-45, 90, 135 ; il semble qu'il faille revoir quelque chose.

(bon, si tu pouvais nous donner les octets utilisés pour la 41, ça m'aiderait ;) sinon, je ferai le test moi-même, mais bon...)

@+ !
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 : 1997
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 » 22 janv. 2013 08:55

A oui, désolé j'ai noté quelque part les octets pour la HP-41C

Le programme fait 80 octets.
Les 5 registres résultats font donc 42 octets
La mise en ouvre nécessite d'utiliser la pile 35 octets
Le total est donc 158 octets !
Pas mal.

Concernant le signe , c'est que je me suis trompé de sens dans les soustractions des demi-angles. Je vais revoir cela.
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
bernouilli92
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3086
Inscription : 21 nov. 2012 14:03
Localisation : Ile de France

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

Message par bernouilli92 » 22 janv. 2013 11:59

Marge a écrit : EDIT ; un petit bémol sur les "signes" des angles : A(0,0), B(5,5) et C(10,0) donne 7.07, 10, 7.07,-45, 90, 135 ; il semble qu'il faille revoir quelque chose.
@+ !
C'est le gros problème d'utiliser les coordonnées polaires dans ce MPO, suivant que les points sont dans le sens horaire ou anti-horaire on n'obtient pas les mêmes résultats pour les angles.
Cela oblige à traiter l'ordre des nombres en amont.
C'est ce que j'ai fait dans mon exemple (après avoir fait un changement d'origine pour n'avoir que 2 angles à comparer) mais cela prend pas mal d'octets.
Mon test doit pouvoir être optimisé : je teste si la différence des angles des deux points modulo 360° est supérieure à 180° dans ce cas j'inverse les nombres.
HP, Casio, Sharp, Psion, quelques TI et divers autres

Avatar de l’utilisateur
C.Ret
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1997
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 » 22 janv. 2013 12:21

Oui, je suis arrivé à la même conclusion. Il faut que je traite "l'arrondi" (en fait c'est plus un modulo) des angles calculés en tenant compte de deux cas ; selon qu'il s'agit d'angles obtus ou aigüs.
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
zpalm
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2499
Inscription : 03 mai 2008 15:33
Localisation : Grenoble

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

Message par zpalm » 22 janv. 2013 13:47

C.Ret a écrit :

Code : Tout sélectionner

001 LBL "LATRI        021 RDN              041 STO 08
002 "ENTER x,y"       022 X<>Y             042 lastX
003 PROMPT            023 R-P              043 X<>Y
004 STO 02            024 STO 01           044 RCL 07
005 X<>Y              025 RDN              045 +
006 STO 06            026 STO 08           046 -
007 PROMPT            027 RCL 07           047 STO 06
008 ST- T             028 XEQ 09           048 RTN
009 RDN               029 STO 07                        
010 ST- Y             030 RDN                        
011 RDN               031 RCL 02           049 LBL 09
012 R-P               032 -                050 X<>Y
013 STO 03            033 X<>Y             051 -
014 RDN               034 RCL 06           052 -1
015 STO 07            035 -                053 ACOS
016 RDN               036 R-P              054 MOD
017 PROMPT            037 STO 02           055 END
018 ST- Z             038 RDN                        
019 RDN               039 RCL 08                        
020 ST- Z             040 XEQ 09                        


R01:  a     R02:  b     R03:  c     Les longueurs des cotés opposés aux somets A, B et C
R06: ^A°    R07: ^B°    R08: ^C°    Les angles aux sommets A, B et C.

On notera l'utilisation de R-P pour calculer distances et (demi-)angles. Le calcul des angles se fait en deux fois, une première fois la racine est mémorisée, puis le complément est "retiré" grâce au sous-programme XEQ 09 afin d'obtenir un angle entre 0 et 180°.
L'angle au sommet A est calculé par la formule des angles complémentaires.
Les registre R02 et R06 servent temporairemetn à mémoriser les coordonnées (xa,ya) du premier sommet avant de finalement servir à mémoriser la longueur du coté opposé à B et l'angle au sommet A.

En plus, -1 ACOS MOD est plus efficace pour indiquer de la bonne façon les angles en cas de triangle obtus ou pointus.
Très bien ce programme pour HP-41, avec plein d'astuces! Mais le calcul des angles ne marche pas dans tous les cas....
Voici une version un peu optimisée avec un calcul d'angle qui devrait être bon (du moins dans tous les cas que j'ai testé). Taille du programme: 85 octets en comptant le LBL de début, le END de fin et la string du PROMPT, plus 6 registres (6x7=42) soit 127 octets au total. Je ne compte pas les registres de la pile qui pour moi font partie des resources de base de la machine et ne consomment pas de mémoire utilisateur contrairement aux pas de programmes ou aux registres mémoire.

Code : Tout sélectionner

                     Bytes   X        Y        Z        T          R1      R2      R3      R6              R7       R8
01      LBL "TRI     7                                                                             
02      "ENTER X,Y"  10                                                                             
03      PROMPT       1       Ay       Ax                                                               
04      STO 02       1       Ay       Ax                                   Ay                            
05      X<>Y         1       Ax       Ay                                   Ay                            
06      STO 06       1       Ax       Ay                                   Ay              Ax              
07      PROMPT       1       By       Bx       Ax       Ay                 Ay              Ax              
08      XEQ 01       3       c        ba°      Bx       By                 Ay              Ax              
09      STO 03       1       c        ba°      Bx       By                 Ay      c       Ax              
10      RDN          1       ba°      Bx       By       c                  Ay      c       Ax              
11      STO 07       1       ba°      Bx       By       c                  Ay      c       Ax               ba°       
12      RDN          1       Bx       By       c        ba°                Ay      c       Ax               ba°       
13      PROMPT       1       Cy       Cx       Bx       By                 Ay      c       Ax               ba°       
14      XEQ 01       3       a        cb°      Cx       Cy                 Ay      c       Ax               ba°       
15      STO 01       1       a        cb°      Cx       Cy         a       Ay      c       Ax               ba°       
16      RDN          1       cb°      Cx       Cy       a          a       Ay      c       Ax               ba°       
17      STO 08       1       cb°      Cx       Cy       a          a       Ay      c       Ax               ba°      cb°
18      RCL 07       1       ba°      cb°      Cx       Cy         a       Ay      c       Ax               ba°      cb°
19      XEQ 09       3       b°       Cx       Cy       Cy         a       Ay      c       Ax               ba°      cb°
20      STO 07       1       b°       Cx       Cy       Cy         a       Ay      c       Ax               b°       cb°
21      RDN          1       Cx       Cy       Cy       b°         a       Ay      c       Ax               b°       cb°
22      -1           2       -1       Cx       Cy       Cy         a       Ay      c       Ax               b°       cb°
23      ACOS         1       ACOS(-1) Cx       Cy       Cy         a       Ay      c       Ax               b°       cb°
24      X<> 06       2       Ax       Cx       Cy       Cy         a       Ay      c       ACOS(-1)         b°       cb°
25      RCL 02       1       Ay       Ax       Cx       Cy         a       Ay      c       ACOS(-1)         b°       cb°
26      XEQ 01       3       b        ac°      Ax       Ay         a       Ay      c       ACOS(-1)         b°       cb°
27      STO 02       1       b        ac°      Ax       Ay         a       b       c       ACOS(-1)         b°       cb°
28      RDN          1       ac°      Ax       Ay       Ay         a       b       c       ACOS(-1)         b°       cb°
29      RCL 08       1       cb°      ac°      Ax       Ay         a       b       c       ACOS(-1)         b°       cb°
30      XEQ 09       3       c°       Ax       Ay       Ay         a       b       c       ACOS(-1)         b°       cb°
31      STO 08       1       c°       Ax       Ay       Ay         a       b       c       ACOS(-1)         b°       c°
32      ST- 06       2       c°       Ax       Ay       Ay         a       b       c       ACOS(-1)-c°      b°       c°
33      RCL 07       1       b°       c°       Ax       Ay         a       b       c       ACOS(-1)-c°      b°       c°
34      ST- 06       2       b°       c°       Ax       Ay         a       b       c       ACOS(-1)-(b°+c°) b°       c°
35      RTN          1       b°       c°       Ax       Ay         a       b       c       a°               b°       c°


36      LBL 01       1                                                                             
37      X<>Y         1       Bx       By       Ax       Ay                                                 
38      ST- Z        2       Bx       By       Ax-Bx    Ay                                                 
39      RDN          1       By       Ax-Bx    Ay       Bx                                                 
40      ST- Z        2       By       Ax-Bx    Ay-By    Bx                                                 
41      RDN          1       Ax-Bx    Ay-By    Bx       By                                                 
42      R-P          1       c        ba°      Bx       By                                                 
43      RTN          1                                                                             


44      LBL 09       1       ba°      cb°      Cx       Cy                                                 
45      -            1       cb°-ba°  Cx       Cy       Cy                                                 
46      -1           2       -1       cb°-ba°  Cx       Cy                                                 
47      ACOS         1       ACOS(-1) cb°-ba°  Cx       Cy                                                 
48      +            1       cb°-ab°  Cx       Cy       Cy                                                 
49      COS          1       b°       Cx       Cy       Cy                                                 
50      ACOS         1       b°       Cx       Cy       Cy                                                 
51      END          3       b°       Cx       Cy       Cy                                                 

Taille totale:       85                                                                          
@C.Ret: Je me suis demandé pendant un moment pourquoi tu avais choisi les registres 1 à 3 puis 6 à 8, mais en rentrant le programme sur une 41C j’ai vite compris que c’était plus simple avec l’adressage direct par les deux premières rangées de touches: RCL Σ+ donne RCL 01 et RCL X<>Y donne RCL 06.
Les 3 premières touches de la première rangée correspondent donc aux 3 côtés et les 3 premières touches de la deuxième rangée correspondent aux 3 angles.

Répondre

Revenir vers « Tous les Pockets »