National Semiconductor 4525 Scientist PR
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
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
National Semiconductor 4525 Scientist PR
*Built-in scientific functions are highly inaccurate, some yielding only 5 significant digits
During the 1970's, National Semiconductor sold many calculators under the Novus brand name. Some of the high-end models, including the Novus 4525, were programmable.
These Novus calculators, like the famous classics from Hewlett-Packard, were RPN models; binary operators were entered in postfix notation. The Novus 4525 has a four-level stack. The similarities with HP end here, however. Whereas HP calculators have legendary accuracy, the Novus 4525 is notoriously inaccurate: for instance, 1 arc tan yields 45.000654 instead of 45. In my collection, only the Sinclair Cambridge Programmable is worse in this regard. The manual (thanks, Martin!) reasons that this inaccuracy exists "because extra guard digits and rounding techniques are not employed [...] in order to simplify the technical design of your calculator." But, then, how come even the Russians were able to make calculators that used no guard digits, yet were able to deliver results to 8 digits of accuracy with an error typically no more than ±1 in the last decimal position?
The programming model of the Novus 4525 is rather unusual. Programming is started by moving the slide switch to the Load position and pushing the start button. However, there's no visual indication (other than the position of the slide switch) that the calculator is in program mode. There are no program steps, no key codes, operations are executed just like they would normally with results appearing on the display, except that the keystrokes are also invisibly recorded. Only a very limited editing facility is provided: the del key can be used to erase the most recent program step. When you switch to the Load setting, the program counter is positioned at the end of the program, so it is possible to backspace (erasing steps) or add program steps to the existing program. The halt and skip keys make it possible to enter multiple programs.
According to the manual, the program capacity of the calculator is 100 program steps. The example shown below, however, is 102 steps in length, no matter how I count it; or perhaps 103 if the start key counts as an extra step. Adding a single step triggers an error condition, so this really must be the maximum size of program memory. There's no mention in the manual of merged program steps, but in any case, I cannot see how merged steps would save exactly 2 (or 3) steps from the length of this program. Which leads me to believe that the actual program capacity of this machine may be 102 steps, not 100.
The calculator has no conditional branch capability; indeed, no control transfer capability of any kind. Programs are merely keystroke sequences, executed in fixed order. You cannot use an error as a halting condition either; program execution happily continues after a calculation results in an error such as an infinite result.
Needless to say, the lack of a conditional branching capability makes it impossible to implement algorithms that require iteration, so for instance, a factorial program is not possible on this unit. (The manual does suggest an iteration technique, but it requires the user to press a button every time the loop is restarted.) As a further limitation, the calculator has only one memory register. With all these restrictions, it is no small surprise (and a great testament to the superiority of the RPN model) that a Gamma function implementation is possible on the Novus 4525, with only a minor compromise in result accuracy.
The program presented here calculates the Gamma function to more than six digits of precision. This is actually better than the accuracy of built-in trigonometric functions.
There is no need to store any constants before using the program; simply key in the argument and hit the start button (making sure first that the slide switch is in the Run position.).
MS 2 π × √ × 68.827848 + MR × 755.9596 + MR × 4151.4888 + MR × 11399.365 + 12520.44 MR ÷ + MR 1 + ÷ MR 2 + ÷ MR 3 + ÷ MR 4 + ÷ MR 5 + ÷ ln MR 5.5 + ln MR .5 + × + MR - 5.5 - ex