HP 41C vs HP 50g Guide (for Starters)
Generally, HP
41C and HP 50g programming languages are somewhat similar, as long as you
operate the HP 50g in RPN mode. Here are
some key differences to keep in mind:
* There are
no LBL (label) or GTO (go to) commands with the HP 50g.
*
Subroutines are typically in the beginning of the main program, stored, and are
called when necessary.
* Variables
start with a letter, can be almost any length, and can contain various types of
objects. Variable names are surrounded
by single quotes ( ‘ ‘ ). Store and
recall the contents of the variables like normal. For the HP 50g, undefined variables are used
as CAS (computer algebraic system) algebraic objects. Erase the variable by typing in the variable
as such
‘variable’, and execute the PURGE function.
* There is
no ASTO/ARCL command. Strings are designated
with double quotes.
* DSE and
ISG are replaced with FOR loops. In general,
a FOR loop for the HP 50g is:
starting_number ending_number
FOR variable
commands
NEXT
* There are
no line numbers in the HP 50g programming language. For comparisons, and IF-THEN-ELSE-END
structure is used. The ELSE portion is
optional.
IF y
x (==, ≠, <, > , ≤, ≥)
THEN (do
these commands if the test is true)
ELSE (do
these commands if the test is false)
END
* Programs
begin and end with double arrow symbols.
≪ and ≫.
So do subroutines.
For further
information on programming the HP 50g, which was posted in October 2013, please
check out the tutorial series, which starts here:
List of
Commands that work exactly the same on the HP 41C and HP 50g:
+
|
CHS
|
FS?
|
%
|
-
|
CLΣ
|
FS?C
|
%CH
|
*
|
DEG
|
GRAD
|
SCI
|
/
|
ENG
|
HMS+
|
SF
|
ABS
|
FC?
|
HMS-
|
SIGN
|
ACOS
|
FC?C
|
MOD
|
SIN
|
ASIN
|
FIX
|
LOG
|
TAN
|
Basic
Statistics Functions
The commands
MEAN, SDEV, Σ+, Σ-, and CLΣ related to the date matrix ΣDAT.
Base
Conversions
The HP 50g
has four base conversion (integer) modes:
OCT (Octal), DEC (Decimal), HEX (Hexadecimal), and BIN (Binary). The 41C
only has two: OCT and DEC. Base integers are designated with a hashtag
and lower case indicator at the end of the integer. For example:
#827o, #52d, #A36h, and
#1101b. The indicators are: o for Octal, d for Decimal, h for
Hexadecimal, and b for Binary.
Before
converting base types, the number needs to be converted to a real number format
using the command B→R. The change
modes. Convert back to base by using R→B.
List of
commands that have the same functions, but different names:
HP
41C
|
HP
50g
|
HP
41C
|
HP
50g
|
1/X
|
INV
|
FACT
|
!
|
10↑X
|
ALOG
|
CLD
|
CLLCD
|
BEEP/TONE
|
Frequency
(in HZ),
Time (in
seconds), BEEP
|
INT
|
IP
|
D-R
|
D→R
|
HMS
|
→HMS
|
R-D
|
R→D
|
HR
|
HMS→
|
E↑X
|
EXP
|
PI
|
π
|
E↑X-1
|
EXPM
|
SQRT
|
√
|
LN1+X
|
LNP1
|
X↑2
|
SQ
|
SIZE*
|
MEM
|
Y↑X
|
^
|
X<>Y
|
SWAP
|
X=Y?
|
==
|
LASTX*
|
LASTARG
|
X≠Y?
|
≠
|
ST+
|
STO+
|
X>Y?
|
< (y<x)
|
ST-
|
STO-
|
X<Y?
|
> (y>x)
|
ST*
|
STO*
|
X>=Y?
|
≤ (y≤x)
|
ST/
|
STO/
|
X<=Y?
|
≥ (y≥x)
|
* SIZE has a
different function for the HP 50g: returning the dimension of a list, matrix,
or string.
* LASTARG
returns all the arguments last used by a command, not just the last used
x-argument. (Level 1).
Note: This should
cover most of the basic differences between the HP 41C and HP 50g. If I
am missing something or something needs correction, please let me know in the
comments. Thank you!
Sources: Hewlett Packard. “Owner’s Handbook and
Programming Guide” 1979. Printed March
1980.
Eddie
This blog is
property of Edward Shore – 2015.