Question basique sur la programmation (hp-15c)

Questions et discussions autour de la programmation du HP-41.
frdm
Sous apprenti
Messages : 5
Inscription : mer. 2 déc. 2009 17:43

Question basique sur la programmation (hp-15c)

Messagepar frdm » sam. 5 déc. 2009 11:40

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

Avatar de l’utilisateur
Thomas FR69
Administrateur
Messages : 579
Inscription : ven. 15 avr. 2005 15:47
Localisation : Lyon
Contact :

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

Messagepar Thomas FR69 » sam. 5 déc. 2009 12:23

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
...

frdm
Sous apprenti
Messages : 5
Inscription : mer. 2 déc. 2009 17:43

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

Messagepar frdm » sam. 5 déc. 2009 12:40

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.

Avatar de l’utilisateur
Thomas FR69
Administrateur
Messages : 579
Inscription : ven. 15 avr. 2005 15:47
Localisation : Lyon
Contact :

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

Messagepar Thomas FR69 » sam. 5 déc. 2009 14:13

C'est sûrement une erreur... C'est dans quel manuel (en français ?) et à quelle page ?

frdm
Sous apprenti
Messages : 5
Inscription : mer. 2 déc. 2009 17:43

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

Messagepar frdm » sam. 5 déc. 2009 17:00

Un exemple est dans l'advanced functions handbook, p18 à la ligne 008 du programme,
mais il y en a d'autres.

Avatar de l’utilisateur
jeffcalc
Expert HP-41
Messages : 52
Inscription : mer. 5 mars 2008 21:32
Localisation : France, Isere
Contact :

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

Messagepar jeffcalc » sam. 5 déc. 2009 19:13

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

frdm
Sous apprenti
Messages : 5
Inscription : mer. 2 déc. 2009 17:43

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

Messagepar frdm » sam. 5 déc. 2009 20:05

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.

Avatar de l’utilisateur
jeffcalc
Expert HP-41
Messages : 52
Inscription : mer. 5 mars 2008 21:32
Localisation : France, Isere
Contact :

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

Messagepar jeffcalc » sam. 5 déc. 2009 20:31

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

frdm
Sous apprenti
Messages : 5
Inscription : mer. 2 déc. 2009 17:43

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

Messagepar frdm » dim. 6 déc. 2009 09:35

jeffcalc,

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


Revenir vers « Programmation »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité