Casio fx-7500G
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 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I have thought I've seen too many Casio calculators, all variations on a few uninspiring themes, to ever get excited about one again. Yet for some reason this little fx-7500G, which I received today, did inspire me. No, it doesn't have any exciting features; in fact, it suffers from the many silly idiosyncrasies that make Casio graphics calculators more difficult to use than necessary. Still... I guess it's the size. A full-featured scientific calculator in such a small package (when folded up, it's a mere 3 by 5 inches), yet ten times the memory of its functional equivalent, the fx-7000G.
I got so inspired in fact that I finally wrote a program to graphically display the results of my favorite programming example, the Gamma function. This exercise is more difficult than it needs to be, precisely because of one of those idiosyncrasies I complained about; namely, that it's impossible to write a program that operates as a user-defined function, and can be made part of an algebraic expression (which you could then supply to the Graph command of the calculator). For this reason, it is not possible to use the fx-7500G's built-in graphing capability to plot the graph of the Gamma function. I needed to write a program instead that calls my Gamma function program as a subprogram, and plots its graph point by point.
Actually, this exercise carried an unexpected benefit: since plotting is now done under program control, I was able to modify the program so that it avoids connecting the graph at data points where the Gamma function is not continuous (namely, negative integers) but connects data points elsewhere.
In the listings below, Prog 0 is the actual Gamma function program; a refined algorithm (yields integer results for all integer arguments between 1 and 13) that takes the result of the last calculation (i.e., the contents of the Ans pseudo-variable) and returns the result. Prog 1 calls this Gamma function program in order to plot the Gamma function for arguments between -5 and +5. Prog 1 can be modified with little difficulty to become a generalized plotting program for any function defined as a subprogram in Prog 0.
Prog 0 Ans→X 1→Y Lbl 1 X>=0⇒Goto 2 XY→Y X+1→X Goto 1 Lbl 2 e(ln ((1+1.9E-10+(76.18009172+9.5E-9)÷(X+1) -(86.50532032+9.4E-9)÷(X+2)+(24.01409824+8E-10)÷(X+3) -1.231739572÷(X+4)+1.208650973E-3÷(X+5) -5.395239384E-6÷(X+6))√2π÷X)+(X+.5)ln (X+5.5)-X-5.5)÷YProg 1 Range -5,5,1,-20,20,5 -5→Z 0→L 0→T Lbl 1 Z>0⇒Goto 2 Frac Z≠0⇒Goto 2 0→T Goto 3 Lbl 2 Z Prog 0 Abs Ans<20⇒Goto 5 0→T Goto 3 Lbl 5 Plot Z,Ans T=0⇒Goto 4 Ans×L<=0⇒Goto 4 Line Lbl 4 Ans→L 1→T Lbl 3 Z+10÷96→Z Z<=5⇒Goto 1 Graph Y=0