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
Years of production: 1988  Display type: Graphical display  
New price:   Display color: Black  
    Display technology: Liquid crystal display 
Size: 5"×6"×½" Display size:  pixels
Weight: 4 oz    
    Entry method: Formula entry 
Batteries: 3×"CR-2025" Lithium Advanced functions: Trig Exp Hyp Lreg Grph Cmem 
External power:   Memory functions:  
    Programming model: Formula programming 
Precision: 13 digits Program functions: Jump Cond Subr Lbl Ind  
Memories: 4(0) kilobytes Program display: Formula display  
Program memory: 4 kilobytes Program editing: Formula entry  
Chipset:   Forensic result: 9.000000590443  

fx7500g.jpg (32342 bytes)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
Lbl 1
X>=0⇒Goto 2
Goto 1
Lbl 2
e(ln ((1+1.9E-10+(76.18009172+9.5E-9)÷(X+1)
  -5.395239384E-6÷(X+6))√2π÷X)+(X+.5)ln (X+5.5)-X-5.5)÷Y
Prog 1
Range -5,5,1,-20,20,5
Lbl 1
Z>0⇒Goto 2
Frac Z≠0⇒Goto 2
Goto 3
Lbl 2
Prog 0
Abs Ans<20⇒Goto 5
Goto 3
Lbl 5
Plot Z,Ans
T=0⇒Goto 4
Ans×L<=0⇒Goto 4
Lbl 4
Lbl 3
Z<=5⇒Goto 1
Graph Y=0