HP 42S Programming Part II:
Dew Point, Ellipse Area and Eccentricity, Easy Transverse
Click here for Part I: Matrix Column Sum, GCD, Error Function
(I plan to post Part III next week.)
As mentioned in Part I, you can download an emulator for the HP 42S, Free42 here: http://thomasokken.com/free42/ . The emulator is for many operating systems including Windows, Mac, iOS, and Android.
HP 42S: Dew Point
(°C)
00 {99Byte Prgm}
01 LBL “DEW”
02 “TEMP °C:”
03 PROMPT
04 STO “T”
05 “HUMIDITY %”
06 PROMPT
07 STO “H”
08 LN
09 17.27
10 RCL* “T”
11 237.3
12 RCL+ “T”
13 ÷
14 +
15 17.27
16 ÷
17 STO “V”
18 237.3
19 RCL* “V”
20 1
21 RCL “V”
22 ÷
23 “DEW POINT °C”
24 ARCL ST X
25 AVIEW
26 STOP
27 END
Instructions: Execute
GTO DEW from Home. Press [R/S].
Test: Input: T:
20°C, H = 0.50
Result: 9.2696°C
The program ELLIPSE calculates the area and eccentricity of
an ellipse.
Formulas:
Assume a>b, where a and b represent the lengths of
semidiameters, respectively
Area: A = π*a*b
Eccentricity: ϵ =
√(1 – (b/a)^2)
00 {76Byte Prgm}
01 LBL “ELLIPSE”
02 “LARGE SD:” \\
SD: semidiameter
03 PROMPT
04 STO “A”
05 “SMALL SD:”
06 PROMPT
07 STO “B”
08 RCL “A”
09 RCL* “B”
10 PI \\ π
11 *
12 “AREA:”
13 AVIEW
14 PSE
15 STOP \\ R/S
16 1
17 RCL “B”
18 RCL÷ “A”
19 X^2
20 –
21 SQRT
22 “ECC:”
23 AVIEW
24 PSE
25 END
HP 42S Easy Transverse
Calculates the new point knowing the original
coordinates, direction, and angle of travel. The angle 0° comes from due
east and rotates counterclockwise. The
program sets the HP 42S to degrees mode.
We make use of the Programmable Menu.
00 {183Byte Prgm}
01 LBL “EASYTRV”
02 DEG
03 0
04 STO “T” \\
initialize total distance counter
05 “INITIAL EASTING”
06 PROMPT
07 STO “E”
08 “INIT. NORTHING”
09 PROMPT
10 STO “N”
11 LBL 00 \\ main label
12 XEQ 01 \\ go to calculation sub loop
13 LBL 03 \\ start menu label
14 CLMENU
15 “NEXT”
16 KEY 1 XEQ 01 \\ KEYX command
17 “QUIT”
18 KEY 2 GTO 02 \\ KEYG command
19 MENU
20 STOP
21 GTO 03 \\ end menu loop
22 LBL 01 \\ main calculation loop
23 CLRMENU \\ make both lines available for viewing
24 “ANGLE (0°360°)”
25 PROMPT
26 STO “A”
27 “DISTANCE”
28 PROMPT
29 STO “D”
30 STO+ “T”
31 →REC
32 STO+ “E”
33 X<>Y
34 STO+ “N”
35 RCL “E”
36 “EAST:”
37 ARCL ST X
38 AVIEW
39 STOP
40 RCL “N”
41 “NORTH:”
42 ARCL ST X
43 AVIEW
44 RTN
45 LBL 2 \\
finalization sub routine
46 CLMENU
47 RCL “T”
48 “ΣDIST:” \\ Σ is from the ALPHAMATH menu
49 ARCL ST X
50 AVIEW
51 STOP
52 RCL “N”
53 RCL “E”
54 END
Test:
Initial Data Coordinates: N = 1,000,
E = 1,000
Travel #1: 170 units
at 118° (28° NW)
Travel #2: 162 units
at 45° (45° NE)
Input:
[XEQ] {EASYT}
1000 [R/S] [R/S]
118 [R/S] 170 [R/S]
Result:
EAST: 920.1898 [R/S],
NORTH: 1,150.1011
{NEXT} 45 [R/S] 162 [R/S]
EAST: 935.5061 [R/S],
NORTH: 1,192.4143
{QUIT} ΣDIST: 215
[R/S], N on Y stack, E on X stack.
A more efficient program. One can solve for any unknown:
ReplyDeleteLBL "DEW"
MVAR "°C"
MVAR "%H"
MVAR "DEW"
VARMENU "DEW"
CF 21
REALRES
STOP
ASTO 01
PGMSLV "DEW2"
SOLVE IND 01
VIEW IND 01
GTO "DEW"
LBL "MAGNUS"
RCL "%H"
0.125
Y^X
0.9
RCLx "°C"
112
+
x
0.1
RCLx "°C"
+
112

RCL "DEW"
END