Datasheet legend
Ab/c: Fractions calculation
AC: Alternating current BaseN: Number base calculations Card: Magnetic card storage Cmem: Continuous memory Cond: Conditional execution Const: Scientific constants Cplx: Complex number arithmetic DC: Direct current Eqlib: Equation library Exp: Exponential/logarithmic functions Fin: Financial functions Grph: Graphing capability Hyp: Hyperbolic functions Ind: Indirect addressing Intg: Numerical integration Jump: Unconditional jump (GOTO) Lbl: Program labels LCD: Liquid Crystal Display LED: LightEmitting Diode Liion: Lithiumion rechargeable battery Lreg: Linear regression (2variable statistics) mA: Milliamperes of current Mtrx: Matrix support NiCd: NickelCadmium rechargeable battery NiMH: Nickelmetalhydrite rechargeable battery Prnt: Printer RTC: Realtime clock Sdev: Standard deviation (1variable statistics) Solv: Equation solver Subr: Subroutine call capability Symb: Symbolic computing Tape: Magnetic tape storage Trig: Trigonometric functions Units: Unit conversions VAC: Volts AC VDC: Volts DC 


Imagine my surprise when shortly after my long search for a working example of Sharp's first programmable calculator, the PC1201, concluded successfully, I came across another machine that looked virtually identical to that model. The EL5001, however, is not a programmable calculator; no, it's something far weirder.
The lower half of the keyboard looks innocent enough: it contains the usual complement of keys normally found on a scientific calculator. Well, okay, even here is something mildly unusual, though not at all unheardof: a sliding switch that lets you choose whether to use the calculator's two extra memories as addressable memories (via the STO1/STO2 and RCL1/RCL2 keys) or two levels of parentheses.
But what's that thing just under the display? On the right is a rotary switch, next to which are markings indicating six positions. To the left of that, five little windows show six set of symbols that can be changed with the rotary switch; underneath four of the windows, four unlabeled keys can be found.
As it turns out, the rotary switch lets you select one of six programs; the four unlabeled keys will then acquire the functions corresponding with the labels that show up in the little windows above. (The fifth window just shows the number of the program that has been activated.)
In other words, the EL5001 is not at all unlike a programmable machine that comes with a software library in a ROM module.
The choice of programs in the EL5001 is a curious one:
Program 1: Plot
The program is activated when you click the first program key, labeled Plot. You can specify a starting argument x_{0}, using the second key; an increment using the third; you can view the current x with the fourth key. While the program is active, the meaning of scientific function keys like sin or ln is altered: instead of evaluating the selected function using the currently displayed number as an argument, the function is evaluated for the current value of x, and x is incremented. In other words, this program lets you plot a function using a starting value and an increment of your choice.
Program 2: STAT
This is your gardenvariety singlevariable statistics feature found on many scientific calculators.
Program 3: EQ
This program lets you compute the real roots of a quadratic equation. You can enter the coefficients using the first three function keys (conveniently and obviously labeled a, b, and c); you can compute the roots using the fourth function key. To compute the second root, use the F key before hitting the fourth function key.
Program 4: Integral
Normally, a calculator with integral capability integrates a userdefined function. However, such a capability presupposes programmability; how else would you enter a userdefined function?
The EL5001 integrates the function kx^{n}. The limits of integration are entered using the first two keys (labeled a and b); k is entered using the third key, n is entered and the integral is computed using the fourth. Obviously, the integral is not computed using any numerical approximation method: instead, the exact formula x^{n}+1/(n+1) is evaluted for a and b and the difference is computed.
Program 5: Complex numbers
The four windows show obvious labels: the first two keys can be used to enter a complex number, whereas the remaining two are used to convert from rectangular to polar representation and vice versa.
What is less obvious that that while this program is active, the four basic arithmetic function keys work differently: they can be used to add, subtract, multiply and divide complex numbers.
Program 6: Vectors
If you just look at the labels while this program is active, you may mistakenly to believe that it's really the same as the complex number program: after all, the rules for polar/rectangular conversion are the same for complex numbers and for twodimensional vectors. So are the rules for vector addition and subtraction identical to the rules for adding and subtracting complex numbers. However, the multiplication key in this case computes the scalar product of the two vectors you enter; as for the division key, it actually computes the angle between the two vectors.