|Minimal Scientific Calculator: A Modest Proposal (long!)|
Message #1 Posted by Michael F. Coyle on 14 Mar 2003, 7:12 p.m.
A recent thread here asks, "What is the most useless
function on a scientific calculator?" Many people have answered and a
spirited discussion has ensued. One argument against functions such
as x^2 and % is that it's easy to calculate the function without
needing a special key.
That got me to wondering: how few functions can we
use to build a scientific calculator. Right now I'm looking at my
11C: a beautiful machine, to be sure, but loaded with keys and
functions. The engineer in me asks, "How can I reduce its complexity?
What can I get rid of?" The 10C was a step in the right direction
but in my opinion was a failure because it did not go far enough.
Let's see how much of the extra functionality we can remove. True, we
will have to learn some new key sequences but HP users are used to
doing things a little diffenently, what with RPN and all.
Let's call this new machine the HP-11C-. (Although some other names,
like HP-11D- or HP-11F may come to mind too.) Readers of the other
thread will be happy to learn that the 11C- does not include %, x^2,
Grads, n!, or hyperbolics; thus, it should make everyone happy.
Hello, Numbers, Goodbye -, /, Trig and Logs
First, let's mention a few things we'll keep. All of the number entry
and stack manipulation keys: -, [.], [CHS], [EEX], [ENTER],
[<-], [x<>y], [R Down], [R Up], [LST x]. Display Mode keys: [FIX],
[SCI], [ENG]. Shift keys: [f], [g]. Not to mention [ON].
Now let's get rid of some stuff. We still need to add, so [+] stays.
But with [CHS] to negate numbers we don't [-] any more; use the
sequence [CHS] [+] to subtract.
Similarly, we may eliminate [/] if we keep [1/x], which is useful in
contexts other than just straight division, in forming negative
exponents, for example.
All trig functions will be done in
radians so [DEG], [RAD], [GRD] go away. We don't need the trig
functions either: angle [ENTER] 1 [->R] gives us the
cosine in x and the sine in y. They can be divided to get the tangent.
[->P] gives the arctangent; the other inverse trig functions can be
calculated from the arctangent with the appropriate formulas. 
 [CHS] [->P] [x<>y] gives us pi, so there goes another key. With
pi still available, we don't need [->DEG] or [->RAD].
Let's hold onto [LN] and [e^x]. We can then calculate common logs and
antilogs, and arbitrary powers and roots, so we don't need [LOG],
[10^x], [y^x], [x^2] or [sqrt x]. Hyperbolic functions and their
inverses are defined in terms of exponentials and natural logs, so
they go out the window, too.
Memory ([STO], [RCL]): Keep.
[%], [Delta %]: Not necessary, compute using formula on back panel of
[ABS]: Trivial to do by hand or in a program.
[CLEAR Sum], [CLEAR PRGM], [CLEAR REG]: Don't need. Get rid of them.
[CLEAR PREFIX]: Useful for correcting incorrect prefix key press.
[CLx]: Not sure about this one. Let's get rid of it and put it back
later if it proves necessary.
[RAN #]: Too hard to duplicate. Keep.
[Py,x], [Cy,x]: Can be computed with factorials. Get rid of them.
[x!]: Get rid of it unless you need the gamma function.
[->H.MS], [->H]: Drop; easy to implement.
[FRAC], [INT]: We don't them both. Keep [INT] and compute fractional
part with Frac(x) = x - INT(x).
[USER]: Just a conveinence function. Don't need it.
[MEM]: Why bother? Get rid of it.
Statistics: [Sum+], [Sum-], [x bar], [s], [y hat, r], [L.R.]: Can all
be computed by hand. Get rid of them.
We will keep all of the programming stuff with the following exceptions:
[BST]: We can just go back to the start of memory and [SST]. Drop.
[DSE], [ISG]: Can rewrite with other sequences of instructions. Get
rid of them.
Flags: We can duplicate their effect using regular memory registers.
Out they go!
Conditionals: We certainly don't need eight of them! First, get rid
of the four "compare x to 0" tests. We can just put the zero in
ourselves and use the "compare x to y" tests. Next, [x=y] and [x!=y]
are exact opposites; we only need one. Let's keep [x=y]. Finally,
[x<=y] and [x>y] are also opposites; let's keep [x>y]. This eliminates
six of the eight conditionals and leaves just two nonredundant ones.
Now let's put it all together. First some simple examples (all to 4
Square root of 625: 625 [LN] .5 [X] [e^x] (Answer: 25.0000)
Common log of 2: 2 [LN] 10 [LN] [1/x] [X] (Answer: 0.3010)
Common antilog of 2.775: 2.775 [ENTER] 10 [LN] [X] [e^x] (Answer: 595.6621)
2^5: 2 [LN] 5 [X] [e^x] (Answer: 32.0000)
cos 0.75: .75 [ENTER] 1 [->R] (Answer: 0.7317. [x<>y] gives sin 0.75 (0.6816))
And finally, a larger example:
Arc sin 0.6, in degrees: [LN] [LST x] [x<>y] 2 [X] [e^x] [CHS] 1 [+]
[LN] .5 [X] [e^x] [->P] [X] 180 [X] 0 [ENTER] 1 [CHS] [->P]
[X] [1/x] [X] (Answer: 36.8699)
Isn't this more satisfying than hitting just two keys, like on other
calculators? Here you have a real sense of ownership of your answer,
having worked hard for it. The HP-11C- will give you many
opportunities for this kind of satisfaction.
The appeal of the proposed HP-11C- is clear. Fewer built-in functions
mean less ROM and fewer keys. This translates to lower manufacturing
costs and higher reliability. Fewer keys also means that the
calculator can be made smaller without sacrificing key size or spacing,
preserving the excellent Voyager series ergonomics. And as can be
seen from the description above, the calculator provides a built-in
never-ending refresher course in math, as opposed to other calculators
which only act as a mental crutch the more you use them. This aspect
alone could make the 11C- a hit in the educational market.
Comments and suggestions are always welcome.