début bien difficile sur HP 50G !

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
patt
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 47
Enregistré le : 17 juil. 2012 10:58
Localisation : 86

début bien difficile sur HP 50G !

Message par patt »

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.
sharp el512, sharp el 9300,"hp 30b,*Mo5*,hp 50g bleue, sharp 1360,casio graph 65", hp 39gII
Avatar du membre
pir2
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4642
Enregistré le : 31 oct. 2006 15:08
Localisation : 67310 Westhoffen
Contact :

Re: début bien difficile sur HP 50G !

Message par pir2 »

Code : Tout sélectionner

1 BEEP
Image
Image
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3404
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: début bien difficile sur HP 50G !

Message par C.Ret »

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.

pir2 a écrit :

Code : Tout sélectionner

1 BEEP
Bien essayé, mais manque de chance, la fonction BEEP utilise deux arguments.

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.
Avatar du membre
Woodstock
Fonctionne à 2400 bauds
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 !

Message par Woodstock »

C.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.
Je comprends maintenant pourquoi j'ai du mal à avaler la programmation en RPL :lol:

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 :D
I'm the operator
Of my pocket calculator
I am adding
And substracting...
(Kraftwerk, Computer World, 1981)
Avatar du membre
Forthman
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 164
Enregistré le : 03 juin 2009 06:51
Localisation : Castelsarrasin (82)

Re: début bien difficile sur HP 50G !

Message par Forthman »

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 :?
Avatar du membre
Forthman
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 164
Enregistré le : 03 juin 2009 06:51
Localisation : Castelsarrasin (82)

Re: début bien difficile sur HP 50G !

Message par Forthman »

Sinon pour répondre aux questions moi aussi, voici un programme pour additionner les deux derniers éléments de la pile !

Code : Tout sélectionner

<< + >>
'PLUS' STO
(je ne sais pas faire les guillemets, mais ça y ressemble)

que tu peux tester en faisant :

Code : Tout sélectionner

 12 34 PLUS  
:mrgreen:

Et que tu peux effacer en faisant :

Code : Tout sélectionner

 'PLUS' PURGE 
voilou ! :wink:
Avatar du membre
bkg2018
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 359
Enregistré le : 30 mai 2012 16:57

Re: début bien difficile sur HP 50G !

Message par bkg2018 »

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 :?
T'es pas au courant ? C'est pour sauver la planète !

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
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3404
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: début bien difficile sur HP 50G !

Message par C.Ret »

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

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 !
...invisibles dans les années 00 et téléchargeables dans les années 10 ! Normal de 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.
Avatar du membre
zpalm
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2919
Enregistré le : 03 mai 2008 15:33
Localisation : Grenoble

Re: début bien difficile sur HP 50G !

Message par zpalm »

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...)
Avatar du membre
zork750
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 489
Enregistré le : 29 avr. 2011 15:44
Localisation : Paris

Re: début bien difficile sur HP 50G !

Message par zork750 »

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

Faire un petit tour sur hpcalc.org peut être utile....pour glaner quelques programmes........ :wink:


@+
patt
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 47
Enregistré le : 17 juil. 2012 10:58
Localisation : 86

Re: début bien difficile sur HP 50G !

Message par patt »

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.
sharp el512, sharp el 9300,"hp 30b,*Mo5*,hp 50g bleue, sharp 1360,casio graph 65", hp 39gII
Avatar du membre
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7141
Enregistré le : 31 janv. 2008 14:24
Localisation : Banlieue Paârisienne
Contact :

Re: début bien difficile sur HP 50G !

Message par gege »

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.
Gilles59
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1602
Enregistré le : 27 oct. 2010 20:46

Re: début bien difficile sur HP 50G !

Message par Gilles59 »

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 :
Bonsoir Patt, en complément des réponses déjà faite, je vais essayer de t'éclairer;)
1) comme supprimer un programme ?
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.

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

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 ?
BEEP a besoin de 2 arguments, la 'hauteur' (en Hertz) de la note et sa 'durée' (en secondes)

ex 440 0.5 BEEP
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 de spécial à faire ... C'est comme quand tu es en 'interactif'

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
patt
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 47
Enregistré le : 17 juil. 2012 10:58
Localisation : 86

Re: début bien difficile sur HP 50G !

Message par patt »

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>>
sharp el512, sharp el 9300,"hp 30b,*Mo5*,hp 50g bleue, sharp 1360,casio graph 65", hp 39gII
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3404
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: début bien difficile sur HP 50G !

Message par C.Ret »

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>>
Ah! Oui c'est pas mal.
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.
Répondre

Retourner vers « Tous les Pockets »