Hello all MoHPC readers,
I have attached some portions of some of my e-mails from yesterday regarding the 33s; you may find this interesting.
Portions were sent to a number of different MoHPC contributors, who will remain anonymous though they may admit to involvement if they so desire!
Where I have added editorial comments to earlier e-mails, they are enclosed in Brackets []
----- Original Message -----
From: William R. Platt
To: r***@***.net
Sent: Tuesday, May 11, 2004 13:10
Subject: HP 33s tricks
Hi *****!
Try this on the 33S:
Do a complex function in ALG Mode. Say, (3 +4 CMPLX) x (4 + 5 CMPLX). Now, you know that the real portion will show up in the display like "Re= -8" and you have to push the down arrow to see the imaginary part: " Im=31"
So this begs the question: how do you get to the imaginary part in a program? (since the down arrow is not a programmable function). You push x<>y! But look what happens when you do this manually: If you push x<>y, you then see "Re=31" and the top line will say "(31 -8i)" If you hit x<>y again, you get back to the "Re=-8"; the top line returns to "(-8 + 31i).
So, this x<>y is how you can use the results of complex number actions in a program. You STO to a variable, X<>Y, STO to another Variable and carry on from there. Note that only the value is stored in the variable---the "Re" part is stripped (this is consistent with the way the 32sii works, too, with say the results of an equation solve).
BTW the X<>y works generally in ALG--you can carry on two independent chain calculations. The LASTx also functions in ALG, but not well--I have not been able to figure out its "logic" in ALG.
[later, I begin to understand it a little bit--when you X<>Y, you clear the lastx register. There is more to be learned about Lastx in ALGmode]
I did not find any of this in the Manual---did you?
If you have a 20s, it is interesting to compare the ALG of the 33s to the 20s. They are not the same, yet both allow you to carry on two chain calculations. In some ways I think I like the 20s implemention better, especially the SWAP key--which is missing from the 33S -- because of its multiline approach. The 20s, though algebraic, allows you that stack-like flexibility of typing in a number, then a function, then a number, then saying, "oops! that one should have been first", hitting SWAP and along you go.In other ways the 33s ALG is much nicer---interesting anyway. [Note that this is the feature that Gene and others, including an anonymous personality, discovered varies from machine to machine...]
BTW have you figured out what the Rdown variables x1 x2 x3 x4 are for in ALG mode, and how you can get to them/use them? It seems like if you solve an equation, you get the result in x1 and x2. But I haven't figured out how to extract them to the stack, or to a storage register.
*****
[A littler later learned from another esteemed but anonymous MoHPC Contributor:] Once the X3 [ or X1 or X2 or X4] is put into a program, there is no longer any manual manipulation. Try this in a program in algebraic:
LBL X
then press RollDown [be sure the machine is in ALG mode] while still in program mode. I see the x1 x2 x3 x4 screen displayed in program mode. Then press right arrow to move over to x3. Now press enter. The second program line is entered as:
x3
Now press RTN [now you see "X3" as a program instruction]
When I XEQ X, the program will perform the "x3" instruction.....[I (Bill) later made a program which used this successfully-----First I solved an equation which left a value in the X3 variable, and then I wrote an ALG program:
LBL X
ALG
X1 (built as described above)
PSE PSE
X3
PSE PSE
X (times)
X2
ENTER
RTN
And it works!]
[Further regarding the X1 X2 X3 X4 business: remember how when in RPN, if you run the solver, the answer is left in X, the last estimate is in Y, and the value of the function at the solution is left in Z? Well, that's exactly what the x1 x2 x3 are doing in ALGebraic---X1 is like X, X2 is y etc. I haven't investigated it yet, but something will go in X4 at some point---maybe with integration--mentioned obliquely in the manual]
****
[Yet even later that day, further correspondence from me to our mystery personality:]
This is interesting! [regarding the difference between X<>Y behavior from one machine to another]
I (Bill Platt) go On-Ln (reset). ALG 27 <divide> 2 <x<>Y> {at this point I see " 27/" top row and "0.0000" bottom row} <enter> "DIVIDE BY 0"
Serial Number CNA41109118 I bought from Amazon Last week. Is your one of the Walmart Pre-release? Or earlier?
Thanks for the x1 x2 x3 x4----great!
Now, the thing about this X<>Y is that I cannot see how one could make a coherent system that worked as yours does [the one which would give .0741 in the above example], considering how the pending operations are handled in this [33s] machine----that top row writing everything down---and then only at enter do you have an answer---what would be "flipped" in X<>Y if you were in the middle of a chain? Try it on yours and tell me what happens.
Another thing you should check: If I keep pressing <enter> after completing an ALG aritmetic, I will get an "action with a constant" effect---like some cheap 4-function machines (or sim to the K on a 10b--a great feature on that machine btw):
27 / 2 ENTER ENTER gives 6.75----in other words <ENTER> rolls the answer up onto the top line, and keeps the last subset to act on. So with parenthesis: 27 X (2+1) ENTER [81] ENTER [243] ENTER [729] etc
Top Line: "27X(2=1)
Bottom Line: 3.0000
now press enter
Top Line "27X(2+1)="
Bottom Line 81.0000
Now enter again:
Top Line "81X3="
B.L 243.0000
Regards,
Bill
***
[Yet later that day...]
[from our distinguished contributor] The X<>Y trick does not work on my 33S in a chain. 1 + 2 / 3 X<>Y ENTER does not give 2.5, but 1.67, as if the X<>Y never happened. However, it does work on 24 divide 12 X<>Y ENTER. Maybe HP fixed it?
The 4-function "constant" functionality is present on my machine.
***
Finally, wrapping up (Bill):
So, the dual chain calculation feature is really quite nice. You can do thus:
ALG CLEAR X<>Y CLEAR . Then do 2 + 2 ENTER X<>Y 5 +5 ENTER + X<>Y ENTER. You will see that the answer is 14----in other words, you did two independent chains, and then "tied them together. If you now go X<>Y again, you see that the "10" is still there ready to be used. This can go on forever---unless you do something that uses both registers--like stats--which BTW is labelled as needing the x<>y.
I hope this e-mail interchange is an enjoyable read---and that it stirs on further experimentation!
Best regards,
Bill
Edited: 13 May 2004, 4:51 p.m.