The Museum of HP Calculators

HP Forum Archive 18

[ Return to Index | Top of Index ]

Beginning programming for HP48GX?
Message #1 Posted by Don Jennings on 27 Oct 2008, 6:23 p.m.

I just got a 48GX used and have both users manual and advanced, but it is a bit overwhelming. I have a series of steps in a program I use but it is all just manual, using HMS- and HMS> kind of things, but need a book or article on the basics of RPL, like how to store variables and use them in a program, how to store the program and the like. Are there any basic programming examples, with more than just one or two examples to study? Should I dump the GX and go for a HP50? Are there third party programming books available? Thanks, newbie Don.

      
Re: Beginning programming for HP48GX?
Message #2 Posted by Allen on 27 Oct 2008, 6:58 p.m.,
in response to message #1 by Don Jennings

I have found Wickes' "Insights 48" books very useful. While hard to find because they are out of print, they contain (as far as I am concerned) the best examples of programming, and optimization for the 48 series.

Amazon link

Publisher: Larken Pubns (February 1991)
Language: English
ISBN-10: 0962525855
ISBN-13: 978-0962525858

Fortunately Vols 1 and 2 are included on the DVD available at this museum. I strongly recommend the soft copy, as a printed version of both (if you can even find it in the next 6-months) will set you back around $180.

(edited to correct link to books section of DVD documents)

Edited: 27 Oct 2008, 6:59 p.m.

      
Re: Beginning programming for HP48GX?
Message #3 Posted by Allen on 27 Oct 2008, 7:08 p.m.,
in response to message #1 by Don Jennings

You can also see past book lists here in the forum, but I see a book by Adams on this list.

I recommend at all costs avoiding "Mastering the HP 48G/GX by Thomas Adams. His other works are decent, this one is not. Somewhere in an earlier post post I decried the odd examples and poor formatting from the book. In short, if your eyes aren't hurting from reading code in Times Roman, your head will certainly hurt after several page diatribe on the physical and chemical mating environments of Australian Brush Turkey embryo. Ahhhhh!

      
Re: Beginning programming for HP48GX?
Message #4 Posted by V-PN on 27 Oct 2008, 7:32 p.m.,
in response to message #1 by Don Jennings

put the 48GX in sale on e-bay and buy then yourself a HP-50G and a TI Nspire CAS

      
Re: Beginning programming for HP48GX?
Message #5 Posted by John McCormick on 27 Oct 2008, 10:49 p.m.,
in response to message #1 by Don Jennings

A quick look showed this book was not on the list: An Easy Course in Using and Programming the HP 48G/GX by Chris Coffin, Grapevine Publications. The title describes the book perfectly, and it does the job effectively. I thought it was perfect newbie guide after got my 48GX in a swap for a TI 89 titanium. All examples appear exactly as they would on the calculator. The author also produces a handy guide that fits inside the calculator's case. Hint: create a custom menu that calls your programs and the calculator's built-in functions and you'll find you've transformed your machine from calculator to a serious tool.

Edited: 27 Oct 2008, 11:08 p.m.

            
Re: Beginning programming for HP48GX?
Message #6 Posted by Don Jennings on 28 Oct 2008, 1:39 p.m.,
in response to message #5 by John McCormick

Quote:
A quick look showed this book was not on the list: An Easy Course in Using and Programming the HP 48G/GX by Chris Coffin, Grapevine Publications. The title describes the book perfectly, and it does the job effectively. I thought it was perfect newbie guide after got my 48GX in a swap for a TI 89 titanium. All examples appear exactly as they would on the calculator. The author also produces a handy guide that fits inside the calculator's case. Hint: create a custom menu that calls your programs and the calculator's built-in functions and you'll find you've transformed your machine from calculator to a serious tool.


Thanks, I found one at a used book store for 21 bucks including shipping. I hope it is in one piece! Frayed I can live with, I just hope all the pages are there. I have a 101 question if you would: I made a simple program, << 'A*B'>> and the only way I get it to run is to hit 'eval'. Is that the only way to run a program like this? I was just simplifying a program in the advanced manual but it said to run the program but didn't exactly say how. Is that the offical way, hit eval? Thanks. Don.
                  
Re: Beginning programming for HP48GX?
Message #7 Posted by George Bailey (Bedford Falls) on 28 Oct 2008, 2:07 p.m.,
in response to message #6 by Don Jennings

Enter the program on the stack, hit ENTER, key in a name for the program on the stack, hit STO.

Hit VAR. Enter the values for A and B on the stack, levels 1 and 2. Hit the soft key with the program's name. The result will be in level 1 of the stack.

                        
Re: Beginning programming for HP48GX?
Message #8 Posted by Don Jennings on 28 Oct 2008, 2:35 p.m.,
in response to message #7 by George Bailey (Bedford Falls)

Quote:
Enter the program on the stack, hit ENTER, key in a name for the program on the stack, hit STO.

Hit VAR. Enter the values for A and B on the stack, levels 1 and 2. Hit the soft key with the program's name. The result will be in level 1 of the stack.


I did all that, the two variables stored and the program stored and all three show up in Var, I put 5 in one and 6 in the other and when I hit the A and B on the softkey, it pumps out the right numbers so I know its in there and if I edit and get the little program onto the stack I can see its << 'A*B' >> and thats about it but nothing happens if I hit the softkey for that. Only if I hit eval. Isn't the delimiter 'XXX' for algebraics? Which A*B is I think. So I wonder what is going on. Thanks for your help BTW. Don.
                              
Re: Beginning programming for HP48GX?
Message #9 Posted by Mark Edmonds on 28 Oct 2008, 2:45 p.m.,
in response to message #8 by Don Jennings

Quote:

I did all that, the two variables stored and the program stored and all three show up in Var, I put 5 in one and 6 in the other and when I hit the A and B on the softkey, it pumps out the right numbers so I know its in there and if I edit and get the little program onto the stack I can see its << 'A*B' >> and thats about it but nothing happens if I hit the softkey for that. Only if I hit eval. Isn't the delimiter 'XXX' for algebraics? Which A*B is I think. So I wonder what is going on. Thanks for your help BTW. Don.


Put the EVAL command in the program so it reads << 'A * B' EVAL >> to get the result out in one press. Without the EVAL, the program just returns an algebraic object to the stack. The same would happen if you put in a list or a string or other object types. They need to be evaluated to get the result you want.

Mark

                              
Re: Beginning programming for HP48GX?
Message #10 Posted by George Bailey (Bedford Falls) on 28 Oct 2008, 3:19 p.m.,
in response to message #8 by Don Jennings

You don't have to store the values for A and B prior to every calculation. Enter the following program and store it, say, in variable PROG

<< -> A B 'A*B' >>

-> is [Right Shift][0] Stores stack levels 1 and 2 in variables A and B

<< >> is [Left Shift][-]

Now enter A and B in levels 1 and 2 of the stack by pressing e.g.

4 [ENTER] 5

then

[VAR] and the softkey [PROG]

the result 20 will be in level 1 of the stack. No EVAL needed.

Edited: 28 Oct 2008, 3:19 p.m.

                                    
Re: Beginning programming for HP48GX?
Message #11 Posted by Don Jennings on 28 Oct 2008, 9:17 p.m.,
in response to message #10 by George Bailey (Bedford Falls)

Quote:
You don't have to store the values for A and B prior to every calculation. Enter the following program and store it, say, in variable PROG

<< -> A B 'A*B' >>

-> is [Right Shift][0] Stores stack levels 1 and 2 in variables A and B

<< >> is [Left Shift][-]

Now enter A and B in levels 1 and 2 of the stack by pressing e.g.

4 [ENTER] 5

then

[VAR] and the softkey [PROG]

the result 20 will be in level 1 of the stack. No EVAL needed.


Hey, thanks for that. I am printing out all of this thread and will do all of the above! I was wondering how I could input #'s without the faldarall of 'sto and such. I have a small program I am using but only manual, some steps for a calc with two answers and just need to do that about 300 times, gets annoying after the first 50 times:)
                                          
Re: Beginning programming for HP48GX?
Message #12 Posted by Juan J on 28 Oct 2008, 10:06 p.m.,
in response to message #11 by Don Jennings

Quote:
You don't have to store the values for A and B prior to every calculation. Enter the following program and store it, say, in variable PROG << -> A B 'A*B' >>

-> is [Right Shift][0] Stores stack levels 1 and 2 in variables A and B

<< >> is [Left Shift][-]

Now enter A and B in levels 1 and 2 of the stack by pressing e.g.

4 [ENTER] 5

then

[VAR] and the softkey [PROG]

the result 20 will be in level 1 of the stack. No EVAL needed.


Hello Don,

These variables are known as local variables, and their values are taken from the stack. The general structure is

<< -> a b 'a*b' EVAL >>

or

<< -> a b << a b * >> >>

As I mentioned, the program takes the value from Level 2 and stores it in variable a, then the value from Level 1 and stores it in variable b. The next step is doing something with both variables, like a multiplication in this example. You can perform symbolic multiplication using 'a*b' EVAL, or use an embedded program. Note that you can write a b *, as you would on an RPN calculator; this also reduces memory usage.

Once evaluated, local variables are deleted from memory. It is a good practice to use lowercase letters for local variables. This distinguishes them from variables you may want to keep in memory.

Using global variables the program might look like

<< 'B' STO 'A' STO A B * >>

or

<< 'B' STO 'A' STO 'A*B' EVAL >>

Hope this helps.

                                          
Re: Beginning programming for HP48GX?
Message #13 Posted by Mark Edmonds on 29 Oct 2008, 12:04 a.m.,
in response to message #11 by Don Jennings

Quote:

Hey, thanks for that. I am printing out all of this thread and will do all of the above! I was wondering how I could input #'s without the faldarall of 'sto and such. I have a small program I am using but only manual, some steps for a calc with two answers and just need to do that about 300 times, gets annoying after the first 50 times:)


The simplest solution is just to manipulate the stack directly in RPL. Your multiplication example would be reduced to a single multiply command (hardly worth programming!) << * >>.

If you want to give us an idea of what your program is doing, we can help you get it written in RPL, which is generally faster and more economical than algebraics.

Mark

                                                
Re: Beginning programming for HP48GX?
Message #14 Posted by Don Jennings on 29 Oct 2008, 10:10 a.m.,
in response to message #13 by Mark Edmonds

I am doing calcs on gravitational lensing, as it applies to our sun. The famous 1.75 seconds of arc of light bending passing by the surface of the sun is the starting point. I am analyzing light coming from nearby stars and I figured out that between the way the light diverges from a distant point when you go from the centerline of the sun to outwards (I put it in terms of radii #'s) so at a certain distance from the sun the light diverging from a star, say Alpha Centauri, nice close one, then there comes a radii # at which there will no longer be a focusing of light. I am trying to pin that distance down for several stars for a project I am working on. As it stands now, I use just manual steps, I'll write them out if you want, they are not that big a deal, no calculus or anything, just a TAN function and HMS functions needed and some multiplies and divides kind of thing. One question I have, I have gone through some of the simple exercizes in this thread and started working on my main sequence, I came to the HMS manipulations but I can't figure the proper syntax, I get syntax errors when I try to do this: << -> (right arrow) A ' A HMS ->' >> and I hit enter to get it into the stack and I don't get that far, I get syntax error with the HMS part highlighted but for some odd reason, not the right arrow, that converts an degree minute second angle to a decimal angle, like 89.59591 HMS-> would give 89.99975 decimal degrees. I want to use that in the program but not sure what I am doing wrong. Any hints here? Both manual give nothing about using HMS stuff in programs. Thanks for your help!

                                                      
Re: Beginning programming for HP48GX?
Message #15 Posted by C.Ret on 29 Oct 2008, 11:35 a.m.,
in response to message #14 by Don Jennings

Hi Don,

Quote:
[...] I try to do this:
<< -> (right arrow) A ' A HMS ->' >>
and I hit enter to get it into the stack and I don't get that far, I get syntax error with the HMS part highlighted but for some odd reason, [...]

I don't know if this will help you there. But I hope...

First
Be careful of the exact syntax of the conversion function from decimal to hour/minute/second is 'HMS->' with no space before the arrow. You get the error message because an arrow alone is not allowed. By syntax the (alone) arrow is always the starting point of a structure such as

   variable(s) -> << instructions >>
or variable(s) -> 'algebraic expression'

A second syntax error is present in your code since you are not following post fix syntax in algebraic expression. The correct syntax will be one of the two following codes. Algebraic expression is made to use traditional post fix notation with parenthesis, the native RPL format use the simpler prefix notation (or reversed) notation :

 << -> A ‘HMS->(A)’ >> 
which is not allowed on HP-48 since HMS-> is not an analytic function and thus may not allow algebric argument or algebraic notation.
 << -> A << A HMS-> >> >>
which is the only authorized notation for your code. This code may only work if local A variable is a real. Thus when a real is present at level 1 of the stack at execusion.

Second
Your program looks odd to me as you use a really complex structure to apply one simple operation. The following code will be enough

<< HMS-> >>
You don't need to write a program to execute any operation of the HP28/HP28 calculator.

You simply have to activate the right menu showing the function(s) you need. Execution will be as simple as entering numeric value and pressing "menu key" just under the right function label(s).

Please try this simple menu configuration:

 { TAN ATAN ->HMS HMS->  } MENU  
This will make the functions you need immediately available for calculation. Just key 89.59591 and press the key immediately under the menu label [ HMS-> ] (which in fact is the alpha D key). The result of the conversion will immediately replace by the converted value 89.99975 at the first position of the stack by

You really don’t need any programming for this single step conversion.

Thrid
No manuals may give any indication about HMS function that is not a regular instruction nor a function. The advanced user reference manual give indication about these two functions respectively HMS-> and ->HMS on pages 3-141 and 3-142

HMS->

Hours-Minutes-Seconds to Decimal Command: Converts a real number in hours-minutes-seconds to its decimal form (hours or degrees) with a decimal fraction.

        Level 1         ->      Level 1
-------------------------------------------------
       HMS              ->        x               
      H.MMSSs           ->       d.ddddddddd      

Keyboard Access: [l-shift][ TIME ] [ NXT ] HMS->

Affected by flags: None

Remarks: The format for HMS (a time or an angle) is H.MMSSs where:

  • H is zero or more digits representing the interger part of the number.
  • MM are two digits representing the number of minutes.
  • SS are two digits representing the number of seconds.
  • s is zero or more digits (as many as allowed by the current display mode) representing the decimal fractional part of seconds.
Related Command: ->HMS, HMS+, HMS-

->HMS

Decimal to Hours-Minutes-Seconds Command: Converts a real number representing hours or degrees with a decimal fraction to hours-minutes-seconds format.

         Level 1        ->       Level 1
-------------------------------------------------
       x                ->       HMS               
      d.ddddddddd       ->      H.MMSSs            

Keyboard Access: [l-shift][ TIME ] [ NXT ] ->HMS

Affected by flags: None

Remarks: The format for HMS (a time or an angle) is H.MMSSs where:

  • H is zero or more digits representing the interger part of the number.
  • MM are two digits representing the number of minutes.
  • SS are two digits representing the number of seconds.
  • s is zero or more digits (as many as allowed by the current display mode) representing the decimal fractional part of seconds.
Related Command: ->HMS, HMS+, HMS-

You are welcome, I use a RPL calculator for a so loooong time, that I have forbidden how strange may be all this stuff appearing to a newcomer ! :-)

Edited: 29 Oct 2008, 12:07 p.m.

                                                            
Re: Beginning programming for HP48GX?
Message #16 Posted by Don Jennings on 29 Oct 2008, 12:31 p.m.,
in response to message #15 by C.Ret

Thanks for the info. I already use the manual method of getting the HMS stuff, its under the time menu, but I want to use it as a piece of a program so I don't HAVE to use the buttons! The calculation goes, I get a HMS version of a tiny angle and first convert it to decimal degree format, then subtract it from 90 degrees which leave me with something like 89.9995138, in one case and take the tangent of that and use that tangent #, in the case of that angle (about 117,000) which is multiplied with another #. I just want to do that in a program where I put a couple of starting variables in and let the program crank on it, its not very complicated, I want to program it because for my project, I have to do this and another calc similar to it several hundred times, my fingers get sore from all that button pushing:)

                                                                  
Re: Beginning programming for HP48GX?
Message #17 Posted by V-PN on 29 Oct 2008, 4:12 p.m.,
in response to message #16 by Don Jennings

All you need to know is that unfortunately HMS functions are actually commands and thus can be used in RPL way only, If you want them in lgebraics use << -> h << h ->HMS h >> DROP >> '->Hms' STO and << -> hms << hms HMS-> hms >> DROP >> 'Hms->' STO. Why DROP? - to make the LASTARG work - if you don't need it leave the h DROP and hms DROP out - but why bother use them for 'Algebraics' when yoiu can use pure RPL?

                                                                        
Re: Beginning programming for HP48GX?
Message #18 Posted by Mark Edmonds on 29 Oct 2008, 4:52 p.m.,
in response to message #17 by V-PN

I'm a little rusty on algebraics as I never use them (using the stack appeals more to my sense of humour) but I'd put the HMS conversion outside a local variable with the local variable then being used in the algebraic. Like this:

<< ->HMS ->h << 'algebraic using local var h goes here' >> >>

And sub HMS-> for ->HMS depending on which way you are converting.

Like Don, I would strongly recommend you learn RPL as it is much more powerful and economical.

Mark

                                                                              
Re: Beginning programming for HP48GX?
Message #19 Posted by Mark Edmonds on 29 Oct 2008, 4:55 p.m.,
in response to message #18 by Mark Edmonds

The above post was meant to be formatted so I'll report the code bit:

<<
->HMS
->h
<<
'algebraic using local var h goes here'
>>
>>

Mark

PS: How do you indent text on this forum?

                                                                              
Re: Beginning programming for HP48GX?
Message #20 Posted by Mark Edmonds on 29 Oct 2008, 5:31 p.m.,
in response to message #18 by Mark Edmonds

Quote:
Like Don, I would strongly recommend you learn RPL as it is much more powerful and economical.

Mark


Rats! Sorry, got my poster's names mixed up. I meant to say VPN, not Don. Sorry chaps!

Mark

                                                                                    
Re: Beginning programming for HP48GX?
Message #21 Posted by V-PN on 29 Oct 2008, 5:36 p.m.,
in response to message #20 by Mark Edmonds

No harm done, Mike ;-)

                                                                        
Re: Beginning programming for HP48GX?
Message #22 Posted by Don Jennings on 29 Oct 2008, 5:07 p.m.,
in response to message #17 by V-PN

Quote:
All you need to know is that unfortunately HMS functions are actually commands and thus can be used in RPL way only, If you want them in lgebraics use << -> h << h ->HMS h >> DROP >> '->Hms' STO and << -> hms << hms HMS-> hms >> DROP >> 'Hms->' STO. Why DROP? - to make the LASTARG work - if you don't need it leave the h DROP and hms DROP out - but why bother use them for 'Algebraics' when yoiu can use pure RPL?
Well I am a beginner at this and intend to learn RPL but have no idea how to do anything in it yet. I did find a copy of Chris Coffins book which should be here in about a week, cheap too! For now, I just want to get my project done and the paper written, have sat on this for way too long! So I guess I am stuck with algebraics for now. How would you use HMS in RPL? Can you show the algebraic and RPL version side by side so I can see the dif? Thanks a bunch!
                                                                              
Re: Beginning programming for HP48GX?
Message #23 Posted by V-PN on 29 Oct 2008, 5:33 p.m.,
in response to message #22 by Don Jennings

[pre] ALG MODE ? << -> h << h ->HMS h >> DROP >> STO ->Hms << -> hms << hms HMS-> hms >> DROP >> STO Hms->

RPN MODE: << -> h << h ->HMS h >> DROP >> '->Hms' STO << -> hms << hms HMS-> hms >> DROP >> 'Hms->' STO

Then just use them as '->Hms(3.5)' or 'Hms->(X+Y)' OR 3.5 ->Hms (could be also ->HMS) 'X+Y' Hms-> (could be also HMS->)

simple enough? Just STOre them and tehn use "manually" or in your programs

                                                                                    
Re: Beginning programming for HP48GX?
Message #24 Posted by Don Jennings on 30 Oct 2008, 10:00 a.m.,
in response to message #23 by V-PN

Thanks for that one! One question: do you have to do something to get into the RPN or RPL mode, is there some kind of switch the calc recognizes for the two styles or something? Or does it automatically know if you use the right syntax it is going to be an RPL thing V an algabraic? You say just Store them and use them in a prgm, the command alone the HMS series cannot be used directly in a program? Is that what this is about? Anyway I will do the exercise and see what pops up the flagpole, a 1 or a 0 :)

                                                                                          
Re: Beginning programming for HP48GX?
Message #25 Posted by V-PN on 30 Oct 2008, 10:31 a.m.,
in response to message #24 by Don Jennings

[MODE] [+/-] [ENTER]

                                                
Re: Beginning programming for HP48GX?
Message #26 Posted by Don Jennings on 30 Oct 2008, 10:37 a.m.,
in response to message #13 by Mark Edmonds

Quote:

The simplest solution is just to manipulate the stack directly in RPL. Your multiplication example would be reduced to a single multiply command (hardly worth programming!) << * >>.

If you want to give us an idea of what your program is doing, we can help you get it written in RPL, which is generally faster and more economical than algebraics.

Mark


I'll post the keystrokes I made up to get the job done manually, but need program because of hundreds of individual solutions needed, gets tiring to keep entering keystokes all day long:) There is a part A, which calculates the distance to gravitational focus for a wavefront coming in from an infinite distance, all the rays parallel, for various radii #'s above the surface of the sun. 1Radii would be skimming the surface, one radii=440,000 miles from the center of the sun. So 1.5R would be the ray going by but 220,000 miles above the surface. 2R would be 440,000 miles high, that distance, the deflection angle is half the surface deflection of that famous Einstein # of 1.75 Seconds of arc. So here goes with part A: 1.75, ent, R#, divide, 10000, divide, 90, ent, swap, HMS-, HMS->, tan, 440000, ent, R#, *, * So if the R# is 2.5 for instance, these keystrokes returns 324130483902, in other words, two beams of light on opposite sides of the sun, like two laser beams pointing tangent to the surface but but going by the sun 1.1 million miles above the surface, those beams will meet because of the gravitational lens effect, 324 billion miles away from the sun out in space, a considerable distance to say the least:) Now on to part B. This set of keystrokes calcs the same thing but takes into account the fact that a closer object, like a nearby star, I use Alpha Centauri, which is about 4 light years away, one LY =5.8 E12 miles (6 trillion miles rounded out, times 4 or 24 trillion miles, or 2.5E13 miles from our sun. Now that is a huge distance but what I figured out is the light going by the surface of the sun from that distance is already slightly diverging, not parallel like something from an infinite distance away. That means the focus will be a bit further out because you have to subtract the divergence angle from the convergence angle of the focus effect, which varies linerarly by altitude above the surface of the sun, so like I said, a beam going by at 1 radii above the surface, 440,000 miles up will only be deflected by half the angle V a beam skimming the surface and so forth. So here goes: R#, ent, 440000, *, 2.5E13, divide, invert, 1296000, divide, invert, 1.75, ent, R#, divide, swap, minus, 10000, divide, 90, ent, swap, HMS-, HMS-> tan, 440000, ent, R#, *, * So if we use that same R# as in part A, 2.5, then it returns 352876845619 or 352 billion miles out, which puts the focus for that radii distance 24 billion miles further away than the light coming from an infinite distance. So there you have it, the keystrokes for both part A and part B, Thats what I need a program to do, so I can just enter an R#, and a distance #, in this case 2.5E13 which is the distance in miles to Alpha Centauri but to do other stars, that needs to be a variable too, so 8 Ly would be 5E13, etc. 8 Ly happens to be the distance to Sirius so those are the two I am studying right now. Thanks for your help! Don.
                                                      
Re: Beginning programming for HP48GX?
Message #27 Posted by Mark Edmonds on 30 Oct 2008, 11:23 a.m.,
in response to message #26 by Don Jennings

OK, quick question, do you want to be able to enter the distance in miles or lightyears? I ask because you can use the HP48's unit system to convert the distance and although the accuracy may not be necessary, it shows a further feature of the calc.

Incidentally, you have already done all the hardwork with your keystroke listings. They are effectively programs already and just need topping and tailing.

Mark

                                                      
Re: Beginning programming for HP48GX?
Message #28 Posted by Marcus von Cube, Germany on 30 Oct 2008, 12:37 p.m.,
in response to message #26 by Don Jennings

<< -> r  
  << 1.75 r / 1E4 / 90 SWAP HMS- HMS-> TAN 44E4 r * * >>
>>
'PARTA'
STO
<< -> r d 
  << r 44E4 * d / INV 1296E3 / INV 1.75 r / SWAP - 1E4 / 
     90 SWAP HMS- HMS-> TAN 44E4 r * * >>
>>
'PARTB'
STO

I haven't tested this but I tried to copy your instructions step by step.

Marcus

Edited for correct syntax of "->".

Edited: 30 Oct 2008, 4:45 p.m. after one or more responses were posted

                                                            
Re: Beginning programming for HP48GX?
Message #29 Posted by Reth on 30 Oct 2008, 3:21 p.m.,
in response to message #28 by Marcus von Cube, Germany

Quote:
<< r -> 
  <<...
and
<< r d ->
  << ...

won't work :)

                                                                  
Re: Beginning programming for HP48GX?
Message #30 Posted by Marcus von Cube, Germany on 30 Oct 2008, 4:46 p.m.,
in response to message #29 by Reth

Thanks for the tip. I've edited my post.

                                                            
Re: Beginning programming for HP48GX?
Message #31 Posted by Don Jennings on 30 Oct 2008, 4:24 p.m.,
in response to message #28 by Marcus von Cube, Germany

Quote:
<< r -> 
  << 1.75 r / 1E4 / 90 SWAP HMS- HMS-> TAN 44E4 r * * >>
>>
'PARTA'
STO
<< r d ->
  << r 44E4 * d / INV 1296E3 / INV 1.75 r / SWAP - 1E4 / 
     90 SWAP HMS- HMS-> TAN 44E4 r * * >>
>>
'PARTB'
STO

I haven't tested this but I tried to copy your instructions step by step.

Marcus


Hey, even if it doesn't work, it shows a 3d view of the dif between algebraic and RPL! I will for sure try it out! Thanks again. Don.
                                                                  
Re: Beginning programming for HP48GX?
Message #32 Posted by Reth on 30 Oct 2008, 4:38 p.m.,
in response to message #31 by Don Jennings

well,

<< r -> 
  <<...
and
<< r d ->
  << ...
will not, but:

<< -> r 
  <<...
and
<< -> r d 
  << ...

would ;)
                                                                        
Re: Beginning programming for HP48GX?
Message #33 Posted by Marcus von Cube, Germany on 30 Oct 2008, 4:47 p.m.,
in response to message #32 by Reth

I did it out of my head. I's corrected now.

                                                                              
Re: Beginning programming for HP48GX?
Message #34 Posted by Don Jennings on 6 Nov 2008, 11:05 a.m.,
in response to message #33 by Marcus von Cube, Germany

Quote:
I did it out of my head. I's corrected now.
Well I have 4 short programs in the 48 now, thanks to all youse guys:) I also got the Chris Coffin easy programming book today, in excellent condition I might add! It is so easy, even I can understand it:) I was surprised to find a copy for only 16 bucks and in good shape too. BTW, does anyone know if Grapevine Publications is still around? I doubt it because when I google it I come up with a what appears to be a white supremacist site in Idaho having nothing to do with calculators!
                                                                                    
Re: Beginning programming for HP48GX?
Message #35 Posted by John McCormick on 13 Nov 2008, 10:24 p.m.,
in response to message #34 by Don Jennings

Grapevine Publications: http://www.read-gpi.com/

                                                            
Re: Beginning programming for HP48GX?
Message #36 Posted by Don Jennings on 30 Oct 2008, 10:00 p.m.,
in response to message #28 by Marcus von Cube, Germany

Quote:
<< -> r  
  << 1.75 r / 1E4 / 90 SWAP HMS- HMS-> TAN 44E4 r * * >>
>>
'PARTA'
STO
<< -> r d 
  << r 44E4 * d / INV 1296E3 / INV 1.75 r / SWAP - 1E4 / 
     90 SWAP HMS- HMS-> TAN 44E4 r * * >>
>>
'PARTB'
STO

I haven't tested this but I tried to copy your instructions step by step.

Marcus

Edited for correct syntax of "->".


I tried loading it in but when I hit enter to get it on the stack, I got 'syntax error' and the inner left arrow was highlighted. I haven't a clue what to do:)
                                                                  
Re: Beginning programming for HP48GX?
Message #37 Posted by Don Jennings on 30 Oct 2008, 10:03 p.m.,
in response to message #36 by Don Jennings

Quote:

I tried loading it in but when I hit enter to get it on the stack, I got 'syntax error' and the inner left arrow was highlighted. I haven't a clue what to do:)


Ah, I missed that last one, thanks.
                                                                        
Re: Beginning programming for HP48GX?
Message #38 Posted by V-PN on 31 Oct 2008, 2:27 a.m.,
in response to message #37 by Don Jennings

is it 0K now?

                                                                              
Re: Beginning programming for HP48GX?
Message #39 Posted by Don Jennings on 1 Nov 2008, 9:34 a.m.,
in response to message #38 by V-PN

Yes, it works exactly the same as the keystrokes, the only problem I have is my math was wrong, I seem to be off by a factor of about 3, so I have to fix that before it gets really useful but I can see how to do that anyway. Thanks for the help guys!

                        
Re: Beginning programming for HP48GX?
Message #40 Posted by Mark Edmonds on 28 Oct 2008, 2:39 p.m.,
in response to message #7 by George Bailey (Bedford Falls)

I would not sell the 48GX! It is a great machine. I know the 50 is a good one but to me, the 48 is a purer design which doesn't try to be everything to all people in terms of how it is operated.

Personally, I don't think it is that difficult to learn either although I don't know how the GX manuals stack up against the SX manuals + SX Advanced Guide.

I don't want this to sound hard but if you got the GX manuals with the calc, then there really is no substitute for reading them to cover basics like using variables. Also ask as many questions as you want - people like sharing their knowledge on these machines.

Mark

                              
Re: Beginning programming for HP48GX?
Message #41 Posted by V-PN on 29 Oct 2008, 1:18 a.m.,
in response to message #40 by Mark Edmonds

do you want to buy my 48GX and 48SX and 28S ??

                                    
Re: Beginning programming for HP48GX?
Message #42 Posted by Mark Edmonds on 29 Oct 2008, 5:04 p.m.,
in response to message #41 by V-PN

Quote:
do you want to buy my 48GX and 48SX and 28S ??

Thanks for the offer but I'm meant to be saving my funds for the rare chances to get the 98xx desktops (optimistic!). I've already got a SX and G but really it depends what you want though?

Mark

      
Re: Beginning programming for HP48GX?
Message #43 Posted by Patrick Rendulic on 29 Oct 2008, 2:45 a.m.,
in response to message #1 by Don Jennings

Here is my way to do it:

1. Work through the 48GX manual. It contains valuable information for the basics of RPL programming.

2. Work through an advanced RPL programming manual. There is one from HP that you can get used and there is an enormous amount of information in hpcalc.org

3. Start learning System-RPL. It is not that difficult. On hpcalc.org you can find all the information you need. I do my work with the Meta-Kernel assembler.

4. You should have MANY years of fun in front of you! I started in 1999 and still enjoy the 48GX. The newer ones -> no way!

      
Re: Beginning programming for HP48GX?
Message #44 Posted by George Bailey (Bedford Falls) on 31 Oct 2008, 4:16 a.m.,
in response to message #1 by Don Jennings

I'm doubting we're doing you any good by helping you to make this one program run. You won't be able to do it on your own in the future.

Help yourself to the Advanced User's Reference Manual. You'll find many programming examples there that will help you to learn.

            
Re: Beginning programming for HP48GX?
Message #45 Posted by Don Jennings on 1 Nov 2008, 9:31 a.m.,
in response to message #44 by George Bailey (Bedford Falls)

I already have it and it does help, it shows the dif between algebraic and RPL. The thing I don't like about the advanced manual is there isn't a lot for a beginner. I have ordered a 101 book which should get here in a week or so.

                  
Re: Beginning programming for HP48GX?
Message #46 Posted by Don Jennings on 1 Nov 2008, 10:34 p.m.,
in response to message #45 by Don Jennings

Quote:
I already have it and it does help, it shows the dif between algebraic and RPL. The thing I don't like about the advanced manual is there isn't a lot for a beginner. I have ordered a 101 book which should get here in a week or so.
I said my math was off, it turns out it was off by 2 PI, so I was able to stick that addition in the program with no help! Thanks everyone! I am busy cranking out numbers now!
                        
Re: Beginning programming for HP48GX?
Message #47 Posted by George Bailey (Bedford Falls) on 2 Nov 2008, 3:13 a.m.,
in response to message #46 by Don Jennings

Put the final program version interested in here, please, so everybody can learn.

Regards, George Bailey

Edited: 2 Nov 2008, 3:13 a.m.

                  
Re: Beginning programming for HP48GX?
Message #48 Posted by Ed Look on 2 Nov 2008, 5:25 p.m.,
in response to message #45 by Don Jennings

I don't know if this message is particularly welcome in this thread, but I have found that mastering programming (and I still consider myself somewhat green) the 48G series machines requires simple brute force- that is, learning by repetition.

For me, I had to actually try to program something, especially if I'm trying to figure out how a certain function, command, or feature works. (And I also found that if I don't use something I learned for a long while, I forget how to use it in future programs! Simple stuff excepted, of course.)

                        
Re: Beginning programming for HP48GX?
Message #49 Posted by Marcus von Cube, Germany on 3 Nov 2008, 3:26 a.m.,
in response to message #48 by Ed Look

Ed, that's how our brain (or our whole body) works:

Use it or loose it!

                              
Re: Beginning programming for HP48GX?
Message #50 Posted by Reth on 3 Nov 2008, 4:22 a.m.,
in response to message #49 by Marcus von Cube, Germany

exactly
... and thank God for that!

                        
Re: Beginning programming for HP48GX?
Message #51 Posted by Don Jennings on 3 Nov 2008, 11:47 a.m.,
in response to message #48 by Ed Look

Quote:
I don't know if this message is particularly welcome in this thread, but I have found that mastering programming (and I still consider myself somewhat green) the 48G series machines requires simple brute force- that is, learning by repetition.

For me, I had to actually try to program something, especially if I'm trying to figure out how a certain function, command, or feature works. (And I also found that if I don't use something I learned for a long while, I forget how to use it in future programs! Simple stuff excepted, of course.)


Yeah, well I am still in the simple stuff era:) Even those I had to write out the programs on paper to remember stuff like what goes in level 1 first Vs level 2. I found out the hard way if you get them reversed you can forget a valid computation:) I only have 4 programs written now and wrote them all out and what the variables are and what the programs do and what goes to level 1 first, If I couldn't write that stuff down I would be dead!
                              
Re: Beginning programming for HP48GX?
Message #52 Posted by Ed Look on 3 Nov 2008, 4:42 p.m.,
in response to message #51 by Don Jennings

LOL!

Welcome to the World of RPN!

Don't worry about mastering the first few levels of the stack; that'll come fairly easily. It's when values pile up higher it gets to be an issue.

There are some, for some people anyway, fairly simple programs that I haven't finalized yet, for example to find the mode in a sample of numbers. I thought it should be trivial, but it returns (most often many) more than one value, so I did something silly. But I haven't the time really these days to properly troubleshoot it, save for a few moments before bed, when my head's in a cloud.

But programs I really needed I worked on and with the aid of the Advanced User's Refernce manual (as well as the basic manual) I was able to come up with workable programs using old fashioned persistence, and I didn't care how much time exactly I put into them. Now, I'm sure some here can make them more elegant and compact (which for me should be very important since I have the 48G and 48G+, but not the 48GX, so that I am limited to at most 312 Kb; though... with the use of HPEdit, I've been able to port them to the 49G+, on which I stuck a 32 Mb SD card), but hey, they work!

                                    
Re: Beginning programming for HP48GX?
Message #53 Posted by Don Jennings on 6 Nov 2008, 11:12 a.m.,
in response to message #52 by Ed Look

Quote:
LOL!

Welcome to the World of RPN!

Don't worry about mastering the first few levels of the stack; that'll come fairly easily. It's when values pile up higher it gets to be an issue.

There are some, for some people anyway, fairly simple programs that I haven't finalized yet, for example to find the mode in a sample of numbers. I thought it should be trivial, but it returns (most often many) more than one value, so I did something silly. But I haven't the time really these days to properly troubleshoot it, save for a few moments before bed, when my head's in a cloud.

But programs I really needed I worked on and with the aid of the Advanced User's Refernce manual (as well as the basic manual) I was able to come up with workable programs using old fashioned persistence, and I didn't care how much time exactly I put into them. Now, I'm sure some here can make them more elegant and compact (which for me should be very important since I have the 48G and 48G+, but not the 48GX, so that I am limited to at most 312 Kb; though... with the use of HPEdit, I've been able to port them to the 49G+, on which I stuck a 32 Mb SD card), but hey, they work!


But 312 Kb, isn't that like a thousand times the space of the 41? And they manage to do some impressive programming there. Have you actually run out of space on your machine? Or is it the sum total of a lot of programs that takes up the space? I don't think the four simple programs I put in takes more that a couple hundred bytes, I could put hundreds of that kind inside with no problem, but I do indeed have the GX model. BTW, does HP still repair the old 41's? I have one, a 41C I think, that died years ago, I hope I haven't thrown it out, I still like it, but I checked Ebay and those asholes want 250 bucks or more for a good 41CX, thats almost double the price of a new 50G for gods sake!


[ Return to Index | Top of Index ]

Go back to the main exhibit hall