début bien difficile sur HP 50G !
Modérateur : Politburo
début bien difficile sur HP 50G !
Bonsoir,
Je débute en programmation sur hp 50g, et j’ai bien du mal, alors j’ai besoin de vos lumières :
1) comme supprimer un programme ?
2) j’ai essayé de faire un « programme » pour faire produire un beep à la machine (simple) mais j’obtiens l’erreur « beep error ! too few arguments », qu’elle est mon erreur ?
3) comment indiquer (dans un programme) de prendre le contenu de la pile niveau 1 ? (sans passer par une variable)
D’avance MERCI.
Je débute en programmation sur hp 50g, et j’ai bien du mal, alors j’ai besoin de vos lumières :
1) comme supprimer un programme ?
2) j’ai essayé de faire un « programme » pour faire produire un beep à la machine (simple) mais j’obtiens l’erreur « beep error ! too few arguments », qu’elle est mon erreur ?
3) comment indiquer (dans un programme) de prendre le contenu de la pile niveau 1 ? (sans passer par une variable)
D’avance MERCI.
sharp el512, sharp el 9300,"hp 30b,*Mo5*,hp 50g bleue, sharp 1360,casio graph 65", hp 39gII
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3422
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: début bien difficile sur HP 50G !
Bonsoir
Je débute en programmation sur hp 50g, et j’ai bien du mal, alors j’ai besoin de vos lumières :
Bon courage, commencer avec ce monstre n'est pas triste.
Moi, j'ai eut la chance de tomber dedans quand j'étais petit, mais je ne me suis pas noyé, le chaudron n'était pas aussi immence qu'un 50 (et g comme 'grand').
Avec un chaudron de taille 28, c'est plus S comme simple.
1) comment supprimer un programme ?
Les programmes se détruisent comme tous les autres objets en RPL, par une bonne PURGE.
2) j’ai essayé de faire un « programme » pour faire produire un beep à la machine (simple) mais j’obtiens l’erreur « beep error ! too few arguments », qu’elle est mon erreur ?
De ne pas avoir donné assez à manger à l'instruction BEEP.
Comme toutes les instructions et fonctions, celle-ci "consomme" les arguments dont elle a besoin en les prenant dans la pile.
S'il n'y en a pas assez, alors on obtient une erreur du type "too few arguments".
3) comment indiquer (dans un programme) de prendre le contenu de la pile niveau 1 ? (sans passer par une variable)
Il n'y a rien à indiquer, toutes les instructions, commandes ou fonctions RPL se servent dans la pile. Si elles n'utilisent qu'un seul argument, elles prennent le premier.
Si elles en ont besoin de deux, les deux premiers niveaux de la pile sont consommés. Pour trois arguments, les premiers trois niveaux sont "consommés", etc...
Evidemment si une fonction renvois un résultat (ou un ensemble de résultat), elle le recrache bien évidemment dans la même pile.
C'est ainsi que
3 4 5 * + renvoi 23.
La commande de multiplication '*' bouffe le 4 et le 5, les multiplie et vomi son résultat, la pile contient alors 3 et 20.
C'est alors que la commande d'addition '+' se repet de 3 et 20, les digère. La pile est alors vide et rejette son résultat additif, la pile contient alors uniquement 23.
Celui au niveau 2: indique la fréquence du son et celui au niveau 1: donne la durée !
Elle ne retourne dans la pile aucun resultat numérique. Le résultat des entrailles de BEEP est le son émit par la calculette.
« 1200 .2 BEEP 960 .2 BEEP 1450 .3 BEEP 1000 .1 BEEP 950 .1 BEEP 920 .1 BEEP »
ou
« 1200 .2 960 .2 1450 .3 1000 .1 950 .1 920 .1 1 6 START BEEP NEXT »
ou
« 800 1600 FOR f
f .1 BEEP
100 STEP
»
Je débute en programmation sur hp 50g, et j’ai bien du mal, alors j’ai besoin de vos lumières :
Bon courage, commencer avec ce monstre n'est pas triste.
Moi, j'ai eut la chance de tomber dedans quand j'étais petit, mais je ne me suis pas noyé, le chaudron n'était pas aussi immence qu'un 50 (et g comme 'grand').
Avec un chaudron de taille 28, c'est plus S comme simple.
1) comment supprimer un programme ?
Les programmes se détruisent comme tous les autres objets en RPL, par une bonne PURGE.
2) j’ai essayé de faire un « programme » pour faire produire un beep à la machine (simple) mais j’obtiens l’erreur « beep error ! too few arguments », qu’elle est mon erreur ?
De ne pas avoir donné assez à manger à l'instruction BEEP.
Comme toutes les instructions et fonctions, celle-ci "consomme" les arguments dont elle a besoin en les prenant dans la pile.
S'il n'y en a pas assez, alors on obtient une erreur du type "too few arguments".
3) comment indiquer (dans un programme) de prendre le contenu de la pile niveau 1 ? (sans passer par une variable)
Il n'y a rien à indiquer, toutes les instructions, commandes ou fonctions RPL se servent dans la pile. Si elles n'utilisent qu'un seul argument, elles prennent le premier.
Si elles en ont besoin de deux, les deux premiers niveaux de la pile sont consommés. Pour trois arguments, les premiers trois niveaux sont "consommés", etc...
Evidemment si une fonction renvois un résultat (ou un ensemble de résultat), elle le recrache bien évidemment dans la même pile.
C'est ainsi que
3 4 5 * + renvoi 23.
La commande de multiplication '*' bouffe le 4 et le 5, les multiplie et vomi son résultat, la pile contient alors 3 et 20.
C'est alors que la commande d'addition '+' se repet de 3 et 20, les digère. La pile est alors vide et rejette son résultat additif, la pile contient alors uniquement 23.
Bien essayé, mais manque de chance, la fonction BEEP utilise deux arguments.pir2 a écrit :Code : Tout sélectionner
1 BEEP
Celui au niveau 2: indique la fréquence du son et celui au niveau 1: donne la durée !
Elle ne retourne dans la pile aucun resultat numérique. Le résultat des entrailles de BEEP est le son émit par la calculette.
« 1200 .2 BEEP 960 .2 BEEP 1450 .3 BEEP 1000 .1 BEEP 950 .1 BEEP 920 .1 BEEP »
ou
« 1200 .2 960 .2 1450 .3 1000 .1 950 .1 920 .1 1 6 START BEEP NEXT »
ou
« 800 1600 FOR f
f .1 BEEP
100 STEP
»
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
- Woodstock
- Fonctionne à 2400 bauds
- Messages : 1969
- Enregistré le : 17 mai 2008 11:19
- Localisation : Au fin fond du Santerre ...
Re: début bien difficile sur HP 50G !
Je comprends maintenant pourquoi j'ai du mal à avaler la programmation en RPLC.Ret a écrit :Bon courage, commencer avec ce monstre n'est pas triste.
[...]Les programmes se détruisent comme tous les autres objets en RPL, par une bonne PURGE.
[...]La commande de multiplication '*' bouffe le 4 et le 5, les multiplie et vomi son résultat, la pile contient alors 3 et 20.
C'est alors que la commande d'addition '+' se repet de 3 et 20, les digère. La pile est alors vide et rejette son résultat additif, la pile contient alors uniquement 23.
Mais un mode d'emploi entièrement écrit de la sorte passerait sans doute mieux...
Autrement dit, merci pour ces explications autrement plus sympathiques que celles du manuel
I'm the operator
Of my pocket calculator
I am adding
And substracting...
(Kraftwerk, Computer World, 1981)
Of my pocket calculator
I am adding
And substracting...
(Kraftwerk, Computer World, 1981)
- Forthman
- Fonctionne à 300 bauds
- Messages : 164
- Enregistré le : 03 juin 2009 06:51
- Localisation : Castelsarrasin (82)
Re: début bien difficile sur HP 50G !
En parlant de manuel, je trouve vraiment dommage de ne plus avoir les bons gros bouquins.
C'est nul de devoir lire un pdf sur un ordi
C'est nul de devoir lire un pdf sur un ordi
- Forthman
- Fonctionne à 300 bauds
- Messages : 164
- Enregistré le : 03 juin 2009 06:51
- Localisation : Castelsarrasin (82)
Re: début bien difficile sur HP 50G !
Sinon pour répondre aux questions moi aussi, voici un programme pour additionner les deux derniers éléments de la pile !
(je ne sais pas faire les guillemets, mais ça y ressemble)
que tu peux tester en faisant :
Et que tu peux effacer en faisant :
voilou !
Code : Tout sélectionner
<< + >>
'PLUS' STO
que tu peux tester en faisant :
Code : Tout sélectionner
12 34 PLUS
Et que tu peux effacer en faisant :
Code : Tout sélectionner
'PLUS' PURGE
Re: début bien difficile sur HP 50G !
T'es pas au courant ? C'est pour sauver la planète !Forthman a écrit :En parlant de manuel, je trouve vraiment dommage de ne plus avoir les bons gros bouquins.
C'est nul de devoir lire un pdf sur un ordi
Après le noir et blanc dans les années 80, après le papier chiotte dans les 90, les manuels sont devenus invisibles dans les années 00 : normal !
Jusqu'à récemment on pouvait obtenir gratuitement un manuel écrit auprès de HP en le demandant et je pense que pour la 50G qui est déjà bien ancienne, ça doit être inscrit quelque part. Ca l'est même dans le manuel de la 35S qui est de 2007, mais je n'ai pas essayé... finalement j'ai trouvé un manuel papier pour pas cher mais en principe HP doit l'offrir.
HP : 67 25 34C 15C 41CX 48S* 48SX 48GX 35S* WP34S* 39gII*
TI : SR52 57 58C* 59 Programmer 66 74S 65
Sharp : PC 1245 1251* 1262 G-850S G-850V
Canon : X-07* F-800P*
Casio : CG-8 SF5300E*
*: persos d'époque
TI : SR52 57 58C* 59 Programmer 66 74S 65
Sharp : PC 1245 1251* 1262 G-850S G-850V
Canon : X-07* F-800P*
Casio : CG-8 SF5300E*
*: persos d'époque
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3422
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: début bien difficile sur HP 50G !
Et oui, le RPL c'est de la biologie. C'est comme le jeu de la vie de Conway, les programme, instructions et fonction vivent du contenu de la pile et y dépose leurs résultats. Si la pile se vide ou est insuffisament remplie, le système s'arrête et crie famine.
A propos des manuels, mettre deux bouquins de 400 pages dans chaque boite de calculatrice à vendre c'est à mon avis une mauvaise idée; les frais de cochons étant une fonction affine du poids.
D'autant plus que les sites bon marché de production (pardon, les sites de production quasi gratuits utilisant des repris de justice et des castes ou ethnies réduites à l'esclave (cf. Apple et i-Phone) sont aux anti-pode des principaux lieux de ventes !
En plus de nos jour, il doit y avoir moins d'une personne sur 30 ou 40 qui lit la documentation accompagnant calculatrice, ordinateur ou smart-phone.
Ce qui manque en fait c'est le petit feuillet de deux ou trois pages, le petit trip(-tique qui donne l'essentiel, le résumé des instructions, le beaba de l'utilisation.
Ce qui, est en trop c'est par contre le fascicule qui indique dans 28 langues que le produit est conformes aux normes CE et FCC, etc. mais qui ne dit pas à quoi correspondent ces normes ni ce qu'elles guarantissent !!!...
A propos des manuels, mettre deux bouquins de 400 pages dans chaque boite de calculatrice à vendre c'est à mon avis une mauvaise idée; les frais de cochons étant une fonction affine du poids.
D'autant plus que les sites bon marché de production (pardon, les sites de production quasi gratuits utilisant des repris de justice et des castes ou ethnies réduites à l'esclave (cf. Apple et i-Phone) sont aux anti-pode des principaux lieux de ventes !
En plus de nos jour, il doit y avoir moins d'une personne sur 30 ou 40 qui lit la documentation accompagnant calculatrice, ordinateur ou smart-phone.
Ce qui manque en fait c'est le petit feuillet de deux ou trois pages, le petit trip(-tique qui donne l'essentiel, le résumé des instructions, le beaba de l'utilisation.
Ce qui, est en trop c'est par contre le fascicule qui indique dans 28 langues que le produit est conformes aux normes CE et FCC, etc. mais qui ne dit pas à quoi correspondent ces normes ni ce qu'elles guarantissent !!!...
...invisibles dans les années 00 et téléchargeables dans les années 10 ! Normal de normal.bkg2018 a écrit : Après le noir et blanc dans les années 80, après le papier chiotte dans les 90, les manuels sont devenus invisibles dans les années 00 : normal !
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
- zpalm
- Fonctionne à 9600 bauds
- Messages : 2935
- Enregistré le : 03 mai 2008 15:33
- Localisation : Grenoble
Re: début bien difficile sur HP 50G !
Un bon manuel HP pour commencer avec la 50g: HP 50g Graphing Calculator Quick Start Guide (61 pages dont une page "Welcome to your HP 50g Graphing Calculator" comme au bon vieux temps...)
- zork750
- Fonctionne à 1200 bauds
- Messages : 489
- Enregistré le : 29 avr. 2011 15:44
- Localisation : Paris
Re: début bien difficile sur HP 50G !
Rien à ajouter, si ce n'est de ce procurer le manuel de l'utilisateur au format pdf en français, il existe : google est ton ami, le manuel avancé avec toutes les commandes, mais en anglais, de même google est ton ami.
Que ce soit sur HP48 HP49 HP50G, mode de fonctionnement en algébrique ou en RPN, sinon mode programmation en RPL, RPL systeme et en assembleur..........l'embarras du choix..........
Faire un petit tour sur hpcalc.org peut être utile....pour glaner quelques programmes........
@+
Que ce soit sur HP48 HP49 HP50G, mode de fonctionnement en algébrique ou en RPN, sinon mode programmation en RPL, RPL systeme et en assembleur..........l'embarras du choix..........
Faire un petit tour sur hpcalc.org peut être utile....pour glaner quelques programmes........
@+
Re: début bien difficile sur HP 50G !
Bonjour,
J’ai choisi une Hp 50g principalement pour son langage particulier, mais étant plus habitué au fonctionnement algébrique, cela me joue des tours…
Quant au manuel, je le trouve pour le moins peu explicite et la navigation dans les menus peu intuitive.
Mais avec votre aide et du temps, je devrais m’en sortir…
Merci à tous pour vos réponses instructives.
J’ai choisi une Hp 50g principalement pour son langage particulier, mais étant plus habitué au fonctionnement algébrique, cela me joue des tours…
Quant au manuel, je le trouve pour le moins peu explicite et la navigation dans les menus peu intuitive.
Mais avec votre aide et du temps, je devrais m’en sortir…
Merci à tous pour vos réponses instructives.
sharp el512, sharp el 9300,"hp 30b,*Mo5*,hp 50g bleue, sharp 1360,casio graph 65", hp 39gII
- gege
- Fonctionne à 14400 bauds
- Messages : 7148
- Enregistré le : 31 janv. 2008 14:24
- Localisation : Banlieue Paârisienne
- Contact :
Re: début bien difficile sur HP 50G !
La 50G dispose d'un mode algébrique.
Il est particulièrement mal foutu en mode programme... et réserve des surprises désagréables.
G.E.
Il est particulièrement mal foutu en mode programme... et réserve des surprises désagréables.
G.E.
Re: début bien difficile sur HP 50G !
Bonsoir Patt, en complément des réponses déjà faite, je vais essayer de t'éclairer;)patt a écrit :Bonsoir,
Je débute en programmation sur hp 50g, et j’ai bien du mal, alors j’ai besoin de vos lumières :
La 50G ne fait aucune différence entre une variable et un programme (ou toute autre objet d'ailleurs). La notion d'"objet" est fondamentale : sur la 50G, tout est _objet_. Un objet peut être un nombre réel, un nombre complexe, une matrice, une liste, un programme, une chaine de caractère, un objet algébrique (encadré par de simple quote '' etc.1) comme supprimer un programme ?
Pour stocker un objet dans une variable, il suffit d'utiliser la commande STO (comme stocke)
Par exemple
2 'A' STO
stocke le nombre entier 2 dans la variable A.
'a*x²+b*x+c' 'A' STO
stocke un objet algébrique dans 'A'
Ne pas oublier de mettre le nom entre quote, sinon on rapelle le contenu de la variable
Tu dois voir alors le nom de cette variable apparaitre dans le menu. Il suffit de cliquer sur le 'soft menu' pour rappeler la valeur de A ... Ou bien de juste taper ALPHA A ENTER
un programme est un objet délimité par les caractère << et >> au clavier : Shift +
Suppose que tu veuille créer un programme qui mette tout nombre sur la pile au carré.
Tu peux faire
<< DUP * >> 'Carré' STO
Carré apparait alors dans le 'soft menu'. Taper 3 et la touche correspondant et tu auras 9.
Tu peux stocker tous tes programmes dans une arboresence tout comme en Windows ou autre. En fait un répertoire n'est rien d'autre qu'un objet particulier
Tu veut une fonction Cube utilisant Carré ? Faire
<< DUP Carré * >> 'Cube' STO
Pour effacer une varaible, l'instruction est PURGE. Comme toujours sur la 50 tu dois mettre les paramétres sur la pile avant de lancer la commande
'Cube' PURGE
efface la variable 'Cube'
Comme très souvent tu peux utiliser des listes comme paramètre :
{'Cube' 'Carré' } PURGE supprimera les 2 programmes
pour t'éviter d'avoir a taper toutes les lettre tu peux utiliser les 'SOFT MENU'
Appuyer sur la touche '
puis sur la touche correspant au programme à purger
Shift PRG MEM PURGE
Avec un peu d'habitude, je trouve les menus tres cohérents (si tu ne retrouve pas le bon memu, tu peux faire CAT et taper les première lettres, ou même tout taper au clavier ALPHA ALPHA P U R G E ENTER
BEEP a besoin de 2 arguments, la 'hauteur' (en Hertz) de la note et sa 'durée' (en secondes)2) j’ai essayé de faire un « programme » pour faire produire un beep à la machine (simple) mais j’obtiens l’erreur « beep error ! too few arguments »,
qu’elle est mon erreur ?
ex 440 0.5 BEEP
il n'y a rien de spécial à faire ... C'est comme quand tu es en 'interactif'3) comment indiquer (dans un programme) de prendre le contenu de la pile niveau 1 ? (sans passer par une variable)
Imaginon que cela t'embète de devoir entrer la durée d'un BEEP à chaque fois. Tu peux créer un nouveau mot pour ta 50 qui fera un BEEP de 0,25 secondes
<< 0.25 BEEP >> 'MonBIP' STO
tu peux alors faire
100 MonBip
ou 1000 MonBip
ou même
<< 100 300 FOR n
n MonBip
NEXT
>>
Des videos bien fichues (en anglais mais clair) pour démarrer en mode RPN sur 50G et avoir les bonnes bases pour programmer :
http://youtu.be/x7I15VD1BV0
http://youtu.be/dDmW7C6Mh9o
http://youtu.be/s9O5WqSD_4s
il y en a plein d'autres y compris sur les bases de la programmation
Il existe aussi plein de 'resources' pour programmer en RPL (mais souvent en anglais...)
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+ CM14 et MM12 / Alice 32
Re: début bien difficile sur HP 50G !
Merci pour ces exemples supplémentaires.
Voici ma petite version de « beep »
<<0 0 20 START 1+ DUP DUP D->R SIN ->NUM 1+ 1000 * IP .2 BEEP DROP NEXT>>
Voici ma petite version de « beep »
<<0 0 20 START 1+ DUP DUP D->R SIN ->NUM 1+ 1000 * IP .2 BEEP DROP NEXT>>
sharp el512, sharp el 9300,"hp 30b,*Mo5*,hp 50g bleue, sharp 1360,casio graph 65", hp 39gII
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3422
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: début bien difficile sur HP 50G !
Ah! Oui c'est pas mal.patt a écrit :Merci pour ces exemples supplémentaires.
Voici ma petite version de « beep »
<<0 0 20 START 1+ DUP DUP D->R SIN ->NUM 1+ 1000 * IP .2 BEEP DROP NEXT>>
C'est même assez remarquable.
Et c'est loin d'être 'petit'
Le tout est que cela fonctionne et fasse le son attendu.
Cette version, 'inspire une autre qui devrait produire la même mélodie (enfin je suis pas sûr, j'ai fais l'hypothèse qu'il fallait laisser le HP-50g en mode radian) :
Code : Tout sélectionner
« DEG
0 20 FOR a
1000 a SIN 1 + *
.2 BEEP
NEXT
»
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.