Sharp EL-5020

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: Light-Emitting Diode
Li-ion: Lithium-ion rechargeable battery
Lreg: Linear regression (2-variable statistics)
mA: Milliamperes of current
Mtrx: Matrix support
NiCd: Nickel-Cadmium rechargeable battery
NiMH: Nickel-metal-hydrite rechargeable battery
Prnt: Printer
RTC: Real-time clock
Sdev: Standard deviation (1-variable 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
Years of production:   Display type: Numeric display  
New price:   Display color: Black  
    Display technology: Liquid crystal display 
Size: 6"×3"×½" Display size: 10+2 digits
Weight: 4 oz    
    Entry method: Formula entry 
Batteries: 2×"LR44" button cell Advanced functions: Trig Exp Hyp Lreg Cmem 
External power:   Memory functions: +/- 
    Programming model: Formula programming 
Precision: 12 digits Program functions: Cond  
Memories: 6 numbers Program display: Formula display  
Program memory: 40 program steps Program editing: Formula entry  
Chipset:   Forensic result: 8.99998762105  

el5020.jpg (28712 bytes)Well, I suppose if the TI-55 can be called a programmable calculator, the same is true for this Sharp unit. It is a very decent little multifunction calculator, quite a pleasure to use; unfortunately, its programming model is rather limited. The calculator has enough memory to record two keystroke sequences, the combined length of which must not exceed 40 keystrokes. A very simple branch capability is provided, which allows a program to be restarted if the selected condition is true.

Unfortunately, this branch capability makes it difficult (or rather, impossible) to set initial values for variables programmatically, because these initial values would be reapplied every time the calculation restarts. It is also not possible to store initial values in any of the "temporary" variables A-F, because when the program is run, the calculator would prompt for these variable's values anyway.

This programming model is demonstrated by the following factorial program:


When the program is run, the calculator prompts for the values of A and B, and calculates B×A!. It is not possible to set B initially to 1 in the program.

The 40-step program memory is too limited for even attempting to implement something as complex as the Gamma function. However, Stirling's formula can be implemented as follows (this implementation calculates the logarithm of the extended factorial, typically to a precision of 4 digits):