Forum Clubic

Programmation sur calculette hp - langage rpn

Bonjour,

On m’a mis sur ma calculette HP le programme ci-dessous :

%%HP: T(3)A(D)F(.);
<< ‘NS’ STO 5. FIX NS 1. + DUP 2. ->LIST 0. CON ‘ZE’ STO 1. NS 1. +
FOR i i NS 1. +
FOR j i 1. == 0.
<< PTCH i 1.5 - *
>> IFTE PTCH i NS 1. + ==
<< NS *
>>
<< i .5 - *
>> IFTE j 1. == 0.
<< PTCH j 1.5 - *
>> IFTE PTCH j NS 1. + ==
<< NS *
>>
<< j .5 - *
>> IFTE -> z1 z2 z3 z4
<< z3 z4 ‘ASINH((z2-z)/RHC)-ASINH((z1-z)/RHC)’ ‘z’ .S RHO * 2. / pi ->NUM / z2 z1 - / z4 z3 - / DUP ‘ZE’ { i j } ROT PUT ‘ZE’ { j i } ROT PUT
>>
NEXT
NEXT ZE INV ‘YE’ STO

Mon problème est que je ne connais pas le langage utilise (RPN ?) et j’ai donc du mal à comprendre ce programme. Quelqu’un connaîtrait-il les fonctions employees telles que STO, FIX, DUP, CON, IFTE, ROT, NUM, z1 à z4 et PUT ? Le reste (PTCH, NS…) concerne des paramètres du programme et que je connais.

Merci d’avance à celles et ceux qui pourront me donner des tuyaux !

Cdlt.

Salut,
Après recherche, le langage utilisé est le RPL.

A l’aide d’un moteur de recherche, tu trouveras facilement les réponses.
Exemple “RPL HP IFTE” -> en.wikipedia.org…

Bonjour,

Merci pour ce tuyau mais il semblerait le code utilise dans le programme que j’ai mis soit moins “modere” que ce que peut proposer wiki. Si des connaisseurs peuvent m’aider à décortiquer le périmètre de mes boucles et surtout comprendre comment est construite la formule finale avec les arc sinus hyperbolique, ce serait super !

Bon WE !

le RPL c’est très “simple”
Tu mets les argument sur une pile puis invoque une fonction dessus qui mettra le résultat sur la pile

4 3 +
donne 4 + 3 donc 7

2 10 x 5 +
donne (2 x 10) + 5

ça a l’avantage de pouvoir formuler les programmes sans utiliser les parenthèse, pas besoin de notion de priorité

Après pour les fonctions faut regarder dans la doc de la calculette qui doit faire un bon 1000 pages si c’est comme au bon vieux temps