Sharp EL-5050

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: Alphanumeric display  
New price:   Display color: Black  
    Display technology: Liquid crystal display 
Size: 5½"×6½"×½" Display size: 16 characters
Weight: 5 oz    
    Entry method: Algebraic with precedence 
Batteries: 2×"CR-2032" Lithium Advanced functions: Trig Exp Hyp Lreg Cmem 
External power:   Memory functions:
I/O:      
    Programming model: Formula programming 
Precision: 12 digits Program functions: Jump Cond Subr  
Memories: 26 numbers Program display: Formula display  
Program memory: 1430 program steps Program editing: Formula entry  
Chipset:   Forensic result:  

el5050.jpg (42648 bytes)This unassuming little calculator turned out to be a far more powerful beast than its appearance would suggest. A 1430-step program memory, conditional execution and loops, a simple subroutine functionality, and 26 named variables make a respectable machine.

Programs are basically algebraic formulae, with a few special operators that allow repeated or conditional execution. A program line is limited to 160 characters, but with up to nine "subroutine" lines, it is possible to use all of program memory in a single program. This allows for fairly complex solutions to be programmed into this calculator.

One demonstration is a program that computes the natural logarithm of the Gamma function, implemented here using Stirling's formula. A simple loop extends the domain of this implementation to all negative numbers (except for negative integers of course) yielding a full 10 digits of precision for most arguments. Newlines have been inserted here for clarity, but they don't need to be keyed in when entering this program into the calculator.

f(X)=1⇒G
  \(\llcorner\rightarrow\)X>5•N→[
    GX⇒G
    X+1⇒X\(\leftarrow\urcorner\)
  ]
  XLN X-X+LN √(2π÷X)-LN G+
  ((((1÷1188÷X2-1÷1680)÷X2+1÷1260)÷X2-1÷360)÷X2+1÷12)÷X