Page 1 sur 1

Question basique sur la programmation (hp-15c)

Publié : sam. 5 déc. 2009 11:40
par frdm
Bonjour à tout le monde.
Je viens d'acquérir une hp-15c, et j'ai des petits problèmes pour la programmer. Supposons que je veuille programmer la fonction :
x->cos(x)/(1+x^2).
J'y arrive comme cela :

Code : Tout sélectionner

f lbl A
sto 1
cos
rcl 1
x^2
1
+
/
g rtn
Et ça fonctionne. Mais dans le manuel, ils ne font pas appel
à sto et rcl, voici ce que cela donne :

Code : Tout sélectionner

f lbl A
cos
x<>y
x^2
1
+
/
g rtn
J'en comprends la logique : on remet dans le registre x la valeur de l'argument. Sauf que quand je le programme, cela ne marche pas.
D'ailleurs, si en mode normal je place 2 dans le registre x, que je tape ensuite cos, alors cos(2) a remplacé 2 dans le reg x, mais 2 n'est pas monté dans le registre y, il a été simplement remplacé.
C'est pourquoi je ne comprends pas comment est censé fonctionner le programme avec x<>y.
Pourriez-vous m'aider ?

François

Re: Question basique sur la programmation (hp-15c)

Publié : sam. 5 déc. 2009 12:23
par Thomas FR69
Bonjour François et bienvenue sur ce forum !

frdm a écrit :

Code : Tout sélectionner

f lbl A
cos
x<>y
x^2
1
+
/
g rtn
Il manque un "enter" sur la deuxième ligne pour dupliquer x qui se retrouvera dans les registres X et Y :

Code : Tout sélectionner

f lbl A
enter
cos
...

Re: Question basique sur la programmation (hp-15c)

Publié : sam. 5 déc. 2009 12:40
par frdm
Merci pour ta réponse rapide.
Il y aurait donc des coquilles dans le manuel ? Je suppose qu'une autre solution est de démarrer le programme avec l'argument dans x et dans y. Peut-être était-ce l'hypothèse implicite de l'auteur. En tous cas, merci encore pour ton aide.
Je vais tâcher de progresser.

Re: Question basique sur la programmation (hp-15c)

Publié : sam. 5 déc. 2009 14:13
par Thomas FR69
C'est sûrement une erreur... C'est dans quel manuel (en français ?) et à quelle page ?

Re: Question basique sur la programmation (hp-15c)

Publié : sam. 5 déc. 2009 17:00
par frdm
Un exemple est dans l'advanced functions handbook, p18 à la ligne 008 du programme,
mais il y en a d'autres.

Re: Question basique sur la programmation (hp-15c)

Publié : sam. 5 déc. 2009 19:13
par jeffcalc
François,

Je n'ai pas trouvé ton exemple dans ce manuel, mais il n'y a pas d'erreur dans le manuel, et pourtant Thomas a raison :-)

Je te conseille de commencer par le manuel d'utilisation du HP15C, en particulier sur l'usage de la pile operationel.
L'advanced functions handbook est (comme son nom l'indique) un manuel avancé qui pré-suppose la maitrise de la machine. Ce manuel reste une référence, encore aujourd'hui, pour la compréhension des fonctions SOLVE et INTEGRATE reprises par nombres de calculateurs HP par la suite.

Jean-Francois

Re: Question basique sur la programmation (hp-15c)

Publié : sam. 5 déc. 2009 20:05
par frdm
Bonsoir,

C'est bizarre que tu n'aies pas cet exemple, peut-être la version anglaise est-elle différente. C'est dans la section 1 consacrée à la fonction solve, dans le paragraphe "finding local extremes of a function". Il s'agit de l'expression :
[cos(2Pirh cos(theta))-cos(2Pirh)]/[(1-cos(2Pirh))*sin(theta)], la variable étant theta. Cet exemple ne figure-t-il pas dans le manuel français? Si tu le souhaites, je peux scanner les pages. Bien entendu, je n'affirme pas que ce sont des erreurs, mais plutôt que c'est moi qui ne comprends pas :-).
Je sais que le manuel de l'utilisateur est plus simple, et je vais le lire de A à Z. Mais comme je voulais comprendre les algorithmes de la fonction solve, j'ai lu l'autre manuel.
Merci pour vos réponses.

Re: Question basique sur la programmation (hp-15c)

Publié : sam. 5 déc. 2009 20:31
par jeffcalc
Ok je vois, ce n'est pas le même exemple mais le principe est le même.

L'explication est simple, c'est un exemple d'utilisation de la fonction SOLVE qui resoud une equation utilisateur. Or SOLVE remplit la pile avec la valeur d'essai avant chaque appel...

J-F

Re: Question basique sur la programmation (hp-15c)

Publié : dim. 6 déc. 2009 09:35
par frdm
jeffcalc,

merci pour ces explications claires et concises. Aurais-tu un livre à me conseiller sur la programmation en rpn ?