Sinclair Enterprise Programmable
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/log 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: Li-ion rechargeable battery Lreg: Linear regression (2-var. stats) mA: Milliamperes of current Mtrx: Matrix support NiCd: Nickel-Cadmium recharg. batt. NiMH: Nickel-metal-hydrite rech. batt. Prnt: Printer RTC: Real-time clock Sdev: Standard deviation (1-var. stats) 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 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sinclair Enterprise Programmable
The last Sinclair programmable calculator (and one of the last Sinclair calculators ever made) is a surprisingly pleasant machine. The two previous programmables made by this famous British company, the Sinclair Cambridge Programmable and the Sinclair Scientific Programmable were both severely limited by design compromises and, let's admit it, outright design errors. Incredibly bad numerical accuracy, a very limited programming model, lousy keys and power switch, overall a low-quality construction characterized these machines.
The power switch is still less than perfect, but the Enterprise programmable excels in other regards. Despite its advanced age of more than 20 years, the machine I have still has snappy, bounce-free keys, a good, uniform display, and operates reliably. Numerical accuracy is good, with most algorithms yielding results accurate to within one or two units in the last digit. The 80 program steps are partially merged (i.e., the second function key is merged with the keystroke). During programming, the calculator always displays the most recently entered program step, making program editing that much easier.
Released at a time when cheaper yet capable imports from the Far East were becoming readily available, and continuous memory, liquid crystal display calculators were just around the corner, the Enterprise Programmable cannot be considered a great success. Yet it is a good calculator on its own right, a powerful programmable machine in a small, pleasing package. And it came with that Sinclair trademark, an extensive program library, containing literally hundreds of applications from many areas of discipline.
One application I was not able to find (then again, I am missing the Physics/Engineering volume of the software library) was an implementation of my favorite programming exercise, the Gamma function. No problem; it just gave me an opportunity to create my own, this time using a refined version of Stirling's formula, supplemented with a simple iteration that derives the function's value for small (or negative) arguments by evaluating the function for a larger argument instead. This solution has several advantages: it uses only two memory registers, it fits well into the calculator's program memory, and it still yields results accurate to more than 7 digits most of the time.
01 F 22 STOn 02 61 0 03 51 1 04 F 22 STOn 05 51 1 06 42 5 07 44 - 08 F 23 RCLn 09 61 0 10 64 = 11 F 13 gin 12 52 2 13 32 8 14 F 23 RCLn 15 61 0 16 34 × 17 F 23 RCLn 18 51 1 19 64 = 20 F 22 STOn 21 51 1 22 51 1 23 F 54 M+n 24 61 0 25 13 goto 26 61 0 27 43 6 28 F 23 RCLn 29 61 0 30 34 × 31 F 51 lnx 32 44 - 33 F 23 RCLn 34 61 0 35 54 + 36 22 [( 37 52 2 38 34 × 39 F 44 π 40 24 ÷ 41 F 23 RCLn 42 61 0 43 23 )] 44 F 53 sqrt 45 F 51 lnx 46 54 + 47 22 [( 48 51 1 49 52 2 50 43 6 51 61 0 52 F 61 1/x 53 24 ÷ 54 F 23 RCLn 55 61 0 56 F 62 x2 57 44 - 58 53 3 59 43 6 60 61 0 61 F 61 1/x 62 24 ÷ 63 F 23 RCLn 64 61 0 65 F 62 x2 66 54 + 67 51 1 68 52 2 69 F 61 1/x 70 24 ÷ 71 F 23 RCLn 72 61 0 73 23 )] 74 64 = 75 F 41 ex 76 24 ÷ 77 F 23 RCLn 78 51 1 79 64 =
Here's an alternate ending to the program that allows you to calculate the natural logarithm of the Gamma function instead, greatly extending the function's range. Naturally, it only works for arguments for which the value of the Gamma function is positive; in other words, for negative arguments, the integer part of the argument has to be an odd number.
74 44 - 75 F 23 RCLn 76 51 1 77 F 51 lnx 78 64 =