Sunday, December 21, 2025

Spotlight: Calculated Industries Gradematic 100

Spotlight: Calculated Industries Gradematic 100







Quick Facts



Model: Gradematic 100

Company: Calculated Industries

Timeline: 1983

Type: Grades conversion, Four Function

Power: 2 LR44/AR76 batteries

Number of Functions: 576 (see source)



Calculated Industries has three sequels to the Gradematic 100: Gradematic 200, Gradematic 3000, and Gradematic 4000.



Get that Grade!



The Gradematic 100 has four main modes:



* Four Function Calculator

* Timer

* Numerical Grades

* Letter Grades



Four Function Calculator (Calculate Mode)



The four function calculator is the basic calculator with the four arithmetic functions (+, -, ×, and ÷), the percent function (%), and one memory register. The [ MRC ] key acts as both a memory recall and clear. However, there is no square root or change sign key.



From any other mode, we can enter the Calculate mode by pressing the equals key [ = ].



Timer Mode



The timer has the ability to count down from a set time or count up (stopwatch).



Count Down: [ TIMER ], enter minute and seconds, then press [ TIMER ] again. The Gradematic 100 does not beep when the timer runs out.



Count Up: With the display at 0 minutes and 0 seconds, press [ TIMER ] starts the stopwatch. Press [ TIMER ] again to stop the time. The stopwatch can only be stopped once.



Numerical Grades Mode



In the Numerical Grades mode, we can enter numerical grades for students depending on the total number of assignments and tests. The general process is this:



1. Press the [ NUMERICAL GRADES ] key.

2. Enter the maximum total score, which would get the student an A+ grade, then press [ STORE*HI ].

3. Enter the minimum total score of which a student to earn a D- grade, then press [ STORE*LO ].

4. To see the break down, press the [ BREAK POINT ] key repeatedly. When ready, press the [ CONTINUE ] key.

5. For each student, enter each grade, then press the plus button [ + ]. When finished, press the [ STUDENT AVERAGE ] key get the average and the grade.

6. (Optional) Repeat step 5 to enter additional students. Press the [ MRC ] key to get the Class Average.



Example: In a class of six assignments worth 100 points each (for a total of 600 points), find a students’ average on the grades: 88, 78, 85, 92, 93, 90. The minimum grade for a D- is 60% of the maximum (360 points).



[ NUMERICAL GRADES ]

Display: E Hi Sc. 600 [ STORE*HI ]

Display: E Lo Sc. 360 [ STORE*LO]

Display: b.P. Press [ BREAK POINT ]:

360 d-

380 d

400 d+

420 C-

440 C

460 C+

480 b-

500 b

520 b+

540 A-

560 A

580 A+ (press [ BREAK POINT ] to repeat the cycle)

[ CONTINUE ] Display: Su Sd Gr

88 [ + ] 78 [ + ] 85 [ + ] 92 [ + ] 93 [ + ] 90 [ + ] Display: 6 526 (total points: 526)

[ STUDENT AVERAGE ] 6 3.26 b+



Note: For some reason, the grade below D is labeled E.



Letter Grades Mode



The Letter Grades mode operates in a similar way to the Numerical Grades Mode. The Letter Grades Mode has specialty keys [ A+ ] through [ E ]. The student average and class averages works the same way.



Example: Find a students average consisting of the grades A-, B, C+, B+, A-, A.



[ LETTER GRADES ]

Display: Ent Gr. [ A- ] [ B ] [ C+ ] [ B+ ] [ A- ] [ A ] [ STUDENT AVERAGE ]

Display: 6 3.33 b+ (average 3.33 B+)



Two Scales



The GradeMatic 100 has two GPA scales: one where A is worth 4 GPA points, and A is worth 12 GPA points. This scales can be toggled with [ A=12 ] key, which can be pressed at any time.



Final Thoughts



If you get a Gradematic 100, make sure that a manual is included. I purchased one from a local thrift mart for a $1.00 but there was no instructions. That led me to purchase another Gradematic 100 on eBay.



Another fine specialized calculator that was once made by Calculated Industries.



Eddie


All original content copyright, © 2011-2025. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.

Saturday, December 20, 2025

Basic vs. Python: Helix Curve (with Casio fx-CG 50)

Basic vs. Python: Helix Curve (with Casio fx-CG 50)



Calculators Used: Casio fx-CG100, Casio fx-CG50



The Helix Curve



The helix space curve can be defined with the following set of parametric equations:



x(t) = r × cos(t)

y(t) = r × sin(t)

z(t) = c × t

where r = radius, c = spacing between the coils of the helix



We can use any measurement of length we want, such as meters, feet, or inches, as long as our measurements are consistent.



Graphing the Helix Equation



Regarding calculators, 3D parametric equations can be graphed with the Casio fx-CG 50, fx-CG 100 (independent variables s and t), and the TI-Nspire (independent variables t and u). The screenshots below is a graph of a helix with the use of the fx-CG 100 emulator (classpad.workspace.com):






Curvature, Torsion, and Arc Length of a Helix



For the formulas, let

x = r × cos(t), x’ = -r × sin(t), x’’ = -r × cos(t), x’’’ = r × sin(t)

y = r × sin(t), y’ = r × cos(t), y’’ = -r × sin(t), y’’’ = -r × cos(t)

z = c × t, z’ = c, z’’ = 0, z’’’ = 0



The variable t is the independent variable of x(t), y(t), and z(t).



Curvature



The general formula for curvature:

k² = ((x’² + y’² + z’²) × (x’’² + y’’² + z’’²) – (x’ × x’’ + y’ × y’’ + z’ × z’’)) ÷ (x’² + y’² + z’²)³



Applying to the helix:

k² = ((r² sin² t + r² cos² t + c²) × (r² cos² t + r² sin² t + 0) – (r² sin t cos t – r² sin t cos t + 0)) ÷ (r² sin² t + r² cos² t + c²)³

Note: r² sin² t + r² cos² t = r² × (sin² t + cos² t) = r²

k² = ((r² + c²) × r²) ÷ (r² + c²)³

k² = r² ÷ (r² + c²)²

k = r ÷ (r² + c²)

Note: curvature is assumed to be a positive value





Torsion



The general formula for torsion:

τ =

(x’’’ × (y’ × z’’ – y’’ × z’) + y’’’ × (x’’’ × z’ – x’ × z’’’) + z’’’ × (x’ × y’’ – x’’ × y’))

÷ ((y’ × z’’ – y’’ × z’)² + (x’’ × z’ – x’ × z’’)² + (x’ × y’’ – x’’ × y’)²)



Breaking it down into parts:



x’’’ × (y’ × z’’ – y’’ × z’) = r × sin t × (0 - -r × sin t × c) = r² × c × sin² t

y’’’ × (x’’’ × z’ – x’ × z’’’) = -r × cos t × (-r × cos t × c – 0) = r² × c × cos² t

z’’’ × (x’ × y’’ – x’’ × y’) = 0

x’’’ × (y’ × z’’ – y’’ × z’) + y’’’ × (x’’’ × z’ – x’ × z’’’) + z’’’ × (x’ × y’’ – x’’ × y’)

= r² × c × sin² t + r² × c × cos² t + 0 = r² × c



(y’ × z’’ – y’’ × z’)² = (0 - -r × sin t × c)² = r² × c² × sin² t

(x’’ × z’ – x’ × z’’)² = (-r × cos t × c – 0)² = r² × c² × cos² t

(x’ × y’’ – x’’ × y’)² = (r² sin² t + r² cos² t)² = r^4

(y’ × z’’ – y’’ × z’)² + (x’’ × z’ – x’ × z’’)² + (x’ × y’’ – x’’ × y’)²

= r² × c² × sin² t + r² × c² × cos² t + r^4 = r² × c² + r^4 = r² × (c² + r²)



Then:

τ = (r² × c) ÷ (r² × (c² + r²)) = c ÷ (r² + c²)





Arc Tangent from t = 0 to t = x



s = ∫ √(x’² + y’² + z’²) dt from t = 0 to t = x



Since:

x’² + y’² + z’² = r² sin² t + r² cos² t + c² = r² + c²



Then:

s = ∫ √(x’² + y’² + z’²) dt from t = 0 to t = x

= ∫ √(r² + c²) dt from t = 0 to t = x

= x × √(r² + c²)



To summarize, for the helix curve:

Curvature: k = r ÷ (r² + c²)

Torsion: τ = c ÷ (r² + c²)

Arc Length to x: s = x × √(r² + c²)



The code below calculates the following:

* curvature

* torsion

* arc length to 2π



Casio fx-CG50 Program HELIXFX



"HELIX: CASIO BASIC"

"RADIUS"?→R

"SPACING"?→c

"CURVATURE="

R÷(R²+C²)→K ◢

"TORISON="

C÷(R²+C²)→T ◢

"ARC LENGTH TO 2π="

2×π×√(R²+C²)→S



Python Script: helixp.py



from math import *

print("Helix: Parameters")

print("math module imported\n")

r=eval(input("radius? "))

c=eval(input("spacing? "))

k=r/(r**2+c**2)

t=c/(r**2+c**2)

print("curvature=\n",str(k))

print("torsion=\n",str(t))

print("arc length to 2pi=\n",str(s))



Example



Radius: r = 2.75

Spacing: c = 0.89



Outputs:

Curvature: 0.3291599837

Torsion: 0.1065281402

Arc length to 2π: 18.16112298



Sources



Harris, John W. and Horst Stocker. Handbook of Mathematics and Computational Science Springer: New York, NY. 2006. ISBN 978-0-387-94746-4

Lee, Sarah. “Curvature and Torsion of 3D Parametric Curves.” Number Analytics // Super Easy Data Analysis Tool for Research, May 17, 2015, www.numberanalytics.com/blog/curvature-torsion-3d-parametric-curves . Accessed 02 July 2025.

Weisstein, Eric W. "Helix." From MathWorld--A Wolfram Resource. https://mathworld.wolfram.com/Helix.html Accessed July 2, 2025.

Wikimedia Foundation. “Torsion of a curve.” Wikipedia. Lasted Edited January 2, 2023, https://en.wikipedia.org/wiki/Torsion_of_a_curve Accessed July 2, 2025.


Eddie

 All original content copyright, © 2011-2025. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.

The author does not use AI engines and never will.


Saturday, December 13, 2025

RPN: HP 42S, DM42, Free 42 Tones, Column Vectors, and Songs

RPN: HP 42S, DM42, Free 42 Tones, Column Vectors, and Songs



Making Music of 10 Tones


The HP 42S, and subsequently, the Free42 app, the Plus42 app, and the Swiss Micros DM42, along with the HP 41C and DM41X. Let’s focus on the HP 42S version.


Tone is followed by:


* a single-digit integer (0-9)

* a tone number called indirectly through a stack level (X, Y, Z, T) or a memory register


I asked on the MoHPC (Museum of HP Calculators) forum what scale that the 42S used for the tones. According to Thomas Okken, who programmed the Free42 app, the tones come from the A major scale, with the note A3 called from TONE 1. TONE 0 played the E3 note. Thank you, Thomas!


https://www.hpmuseum.org/forum/thread-23678-post-205315.html#pid205315


The program CTONE plays a collection of tones that is stored in a single-column matrix named MCOL. An example of a collection of tones


[ [ 1 ]

[ 3 ]

[ 5 ]

[ 1 ]

[ 3 ]

[ 5 ]

[ 7 ]

[ 7 ]

[ 7 ]

[ 7 ]

[ 1 ]

[ 3 ]

[ 5 ]

[ 1 ]

[ 3 ]

[ 5 ]

[ 7 ]

[ 8 ]

[ 9 ]

[ 7 ] ]


CTONE: plays tones of the column vector MCOL


00 { 44-Byte Prgm }

01▸LBL "CTONE"

02 INDEX "MCOL"

03 WRAP

04 RCL "MCOL"

05 DIM?

06 X<>Y

07 3

08 10↑X

09 ÷

10 +

11 STO 00

12▸LBL 00

13 RCLEL

14 TONE IND ST X

15 I+

16 ISG 00

17 GTO 00

18 RTN

19 .END.


The following program, CRVCT, creates a matrix with one column named MCOL.


CRVCT: create a vector MCOL


00 { 79-Byte Prgm }

01▸LBL "CRVCT"

02 "SIZE?"

03 PROMPT

04 STO 01

05 1

06 DIM "MCOL"

07 X<>Y

08 3

09 10↑X

10 ÷

11 +

12 STO 00

13 INDEX "MCOL"

14 WRAP

15 ALL

16▸LBL 00

17 "ROW "

18 RCL 00

19 IP

20 ARCL ST X

21 ├"?"

22 PROMPT

23 STOEL

24 ISG 00

25 GTO 01

26 GTO 02

27▸LBL 01

28 I+

29 GTO 00

30▸LBL 02

31 RCL "MCOL"

32 FIX 04

33 RTN

34 .END.


Source


“HP 42S TONE” Museum of HP Calculators. https://www.hpmuseum.org/forum/thread-23678-post-205315.html#pid205315 Retried June 9, 2025.


Have fun,


Eddie


All original content copyright, © 2011-2025. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.

The author does not use AI engines and never will.

Saturday, December 6, 2025

Basic vs. Python: Numeric Guessing Games (Featuring Casio fx-702P and fx-CG100)

Basic vs. Python: Numeric Guessing Games


Calculators Used


Basic: Casio fx-702P

Python: Casio fx-CG100


Task


Generate two simple number guessing games.


Guess the Number


This is the classic guess the number. The game generates a number (positive integer) at random in a given range. The player guess the number and if it doesn’t match the target number, the player is told whether the target number is lower or higher. The objective is to find the target number in the lowest number of turns.


The pricing game, The Clock Game, from the legendary game show The Price Is Right uses the Guess the Number game for two prizes. The Clock Game, the contestant needs to get the three-digit price correct for each prize within a total of 30 seconds, with the host (Drew Carey or the late Bob Barker) informing the contest whether the correct price is higher or lower.


The code is for a game where the target integer is between 10 and 99.


BASIC: Casio fx-702P


10 PRT "GUESS THE NUMBER"

20 T=INT (RAN#*90+10)

30 C=0

40 G=0


100 INP "GUESS (10-99)",G

110 IF G<10 THEN 100

115 IF G>99 THEN 100

120 C=C+1

130 IF G<T;PRT "HIGHER"

140 IF G>T;PRT "LOWER"

150 IF G=T THEN 200

160 GOTO 100


200 PRT "CORRECT! THE # IS ";T

210 PRT "# GUESSES: ";C


PYTHON: Casio fx-CG100

Script: numguess.py


from random import *


print("Guess the number ")

t=int(random()*90+10)

c=0

g=0


# != means not

while t!=g:

  g=int(input("Guess (10-99)? "))

  c+=1

  if g<t:

    print("HIGHER")

  if g>t:

    print("LOWER")


# exact guess leaves the loop


print("CORRECT! The # is "+str(t)+".")

print("# of guesses: "+str(c))


The major difference between the two programs is that the Basic version uses If statements and Goto line statements, while Python code uses a while loop.


Find the Coin


This is a guessing game where the player is tasked to find a coin in a 10 by 10 grid. The rows and columns are labeled 0 through 9.





BASIC: Casio fx-702P


10 PRT "FIND THE COIN ($)"

30 A=INT (RAN#*10)

40 B=INT (RAN#*10)

50 C=0

60 PRT "GRID 0-9,0-9"


70 INP "X (0-9)",X

80 INP "Y (0-9)",Y

90 R=ABS (A-X)

100 S=ABS (Y-B)

105 C=C+1

110 IF R=S THEN 200

120 PRT S;" ROW";R;" COL"

150 GOTO 70


200 PRT "YOU FOUND IT!"

210 PRT "SCORE= ";C


PYTHON: Casio fx-CG100

Script: findcoin.py


# find the coin, 10 x 10 grid


from random import *

print("FIND THE COIN")

# random integer from 0 to 9

a=randint(0,9)

b=randint(0,9)

c=0

print("GRID 0-9,0-9")


# set up 

r=-1

s=-2


while r!=s:

  x=int(input("X 0-9: "))

  y=int(input("Y 0-9: "))

  r=abs(a-x)

  s=abs(b-y)

  c+=1

  if r==s:

    break

  print(str(s)+" rows "+str(r)+" col")


print("You found it!")

print("SCORE= ",str(c))


Note: Both numguess.py and findcoin.py use the random module, hence it can be adopted on every calculator with a random module. The HP Prime’s random module is urandom.


Have fun, and modify as you like,


Eddie


 All original content copyright, © 2011-2025. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.


The author does not use AI engines and never will.

Saturday, November 29, 2025

fx-991 CW: Gamma Function

fx-991 CW: Gamma Function



All screenshots were made with Casio’s classpad.net website.



No Gamma Function? No Problem!


The gamma function is used a lot in advanced mathematics. The gamma functions with a lot of definition functions, but the most common one is for values t>0 (in particular Re(t)>0):


Γ(t) = ∫( x^(t-1) × e^(-x) dx, 0, ∞)


This integral is an improper integral and unless we have a calculator that handles infinite limit, we need to use the following:


Γ(t) =


lim ∫( x^(t-1) × e^(-x) dx, 0, w)

w → ∞


Calculators with the integral function can use the above for estimating the gamma function.



Use Basic Properties for Shortcuts


If t is a positive integer, we can use the factorial function:


Γ(t) = (t – 1)!


Example: Γ(16) = (16 – 1)! = 15! ≈ 1.31 × 10^12



If t is in the form n/2 where n is odd (i.e. 1/2 = 0.5, 3/2 = 1.5, 5/2 = 2.5, 7/2 = 3.5, etc.). we can use the product..


Γ(n / 2) = (n – 2) / 2 × (n – 4) / 2 × (n – 6) / 2 × … × 1 / 2 × √π


Example: Γ(3.5) = Γ(7 / 2) = 5 / 2 × 3 / 2 × 1 / 2 × √π = 15 / 8 × √π ≈ 3.32335097


The following pictures demonstrate the use of the above equivalency along with integral estimate:



I hope you find this helpful,


Eddie


 All original content copyright, © 2011-2025. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.


The author does not use AI engines and never will.

Saturday, November 22, 2025

Numworks Python: Days Between Days Without Converting to Julian Dates

Numworks Python: Days Between Days Without Converting to Julian Dates



Introduction


The script daysbtwn.py find the number days between two days given the month and year. The program is designed to find the dates, not including the last date (to match most financial calculators and spreadsheets), within one calendar year. The program will ask if February 29 is included.



Numworks Python Code: daysbtwn.py


from math import *


# days between dates within a year

# no conversion to julian approach


# store basic calendar

# 0th is 0 to match the months

cal=[0,31,28,31,30,31,30,31,31,30,31,30,31,31,28,31,30,31,30,31,31,30,31,30,31]


# ask for dates

m1=int(input("Month 1? "))

d1=int(input("Day 1? "))

m2=int(input("Month 2? "))

d2=int(input("Day 2? "))


# leap year question

l=0

l=int(input("Include Feb. 29?\nYES=1, NO=0: "))


# sum

if m1==m2:

  s=d2-d1

  if s<=0:

    s+=365+l  

else:

  if m2<m1:

    m2+=12

  s=cal[m1]-d1

  s+=sum(cal[m1+1:m2])

  s+=d2+l


print("DAYS = ",s)


The code has the math module, which can be used with any calculator with Python or the computer version.



Examples


March 14 – March 13 (of next year)

Month 1? 3, Day 1? 14

Month 2? 3, Day 2? 13

Include Feb. 29? 0

Number of Days: 364


March 14 – March 14 (of next year)

Month 1? 3, Day 1? 14

Month 2? 3, Day 2? 14

Include Feb. 29? 0

Number of Days: 365


March 14 – March 15 (of the same year)

Month 1? 3, Day 1? 14

Month 2? 3, Day 2? 15

Include Feb. 29? 0

Number of Days: 1


January 1 – December 31 (of the same year – leap year)

Month 1? 1, Day 1? 1

Month 2? 12, Day 2? 31

Include Feb. 29? 1

Number of Days: 365


In the U.S., wishing you a safe, sane, and Happy Thanksgiving.


Eddie


All original content copyright, © 2011-2025. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.

Spotlight: Calculated Industries Gradematic 100

Spotlight: Calculated Industries Gradematic 100 Quick Facts Model: Gradematic 100 Company: Calculated Industries Timeline:...