Normal
Float
Radian
Func
Thick
Sequential
a+bi
Full
FnOff
ZStandard
RectGC
CoordOn
GridOff
AxesOff
LabelOff
ExprOn
Lbl 0
Menu("","MATH",1,"CONVERT",2,"CHEM",3,"QUADRATICS",4,"TRIANGLES",5,"BASE CONVERT",6,"QUIT",7)
Lbl 41
ClrHome
Disp "A=BH/2"
Prompt B,H
Pause BH/2
Goto 11
Lbl 42
ClrHome
Disp "A=BH"
Prompt B,H
Pause BH
Goto 11
Lbl 43
ClrHome
Disp "(Y₁+Y₂)H/2"
Input "Y₁=?",A
Input "Y₂=?",B
Prompt H
Pause (A+B)H/2
Goto 11
Lbl 44
ClrHome
Disp "NS²sin(360/N)(1-","cos(360/N))"
Prompt N,S
Pause NS²sin(360/N)(1-cos(360/N))
Goto 11
Lbl 45
ClrHome
Disp "πR²"
Prompt R
Pause πR²
Goto 11
Lbl 46
ClrHome
Disp "πr₁r₂"
Input "r₁=?",R
Input "r₂=?",S
Pause πRS
Goto 11
Lbl 51
ClrHome
Disp "BHW"
Prompt B,H,W
Pause BHW
Goto 12
Lbl 52
ClrHome
Disp "BHW/3"
Prompt B,H,W
Pause BHW/3
Goto 12
Lbl 53
ClrHome
Disp "πR²H"
Prompt R,H
Pause πR²H
Goto 12
Lbl 54
ClrHome
Disp "πR²H/3"
Prompt R,H
Pause πR²H/3
Goto 12
Lbl 55
ClrHome
Disp "4/3πR³"
Prompt R
Pause 4/3πR³
Goto 12
Lbl 56
ClrHome
Disp "4/3πr₁r₂r₃"
Input "r₁=?",R
Input "r₂=?",S
Input "r₃=?",T
Pause 4/3πRST
Goto 12
Lbl 71
ClrHome
Disp "6S²"
Prompt S
Pause 6S²
Goto 13
Lbl 72
ClrHome
Disp "2(LW+WH+LH)"
Prompt L,W,H
Pause 2(LW+WH+LH)
Goto 13
Lbl 73
ClrHome
Disp "2πR(H+R)"
Prompt R,H
Pause 2πR(H+R)
Goto 13
Lbl 74
ClrHome
Disp "πR√(H²+R²)+πR²"
Prompt R,H
Pause πR√(H²+R²)+πR²
Goto 13
Lbl 75
ClrHome
Disp "4πR²"
Prompt R
Pause 4πR²
Goto 13
Lbl 76
ClrHome
Disp "F=faces,","S=side length"
Prompt F,S
Pause (F=4)√(3)S²+(F=6)6S²+(F=8)2√(3)S²+(F=12)30sin(72)(1-cos(72))S²+(F=20)5√(3)S²
Goto 13
Lbl 1
Menu("","AREA",11,"VOLUME",12,"SURFACE AREA",13,"TRIG",14,"TANGENT",15,"RIEMANN SUM",16,"BACK",0)
Lbl 2
Menu("","LENGTH",21,"AREA",22,"VOLUME",23,"MASS",24,"SPEED",25,"TEMPERATURE",26,"BACK",0)
Lbl 3
"H 1.008He4.003Li6.941Be9.012B 10.81C 12.01N 14.01O 16.00F 19.00Ne20.18Na22.99Mg24.31Al26.98Si28.09P 30.97S 32.07Cl35.45Ar39.95K 39.10Ca40.08Sc44.96Ti47.87V 50.94Cr52.00Mn54.94Fe55.85Co58.93Ni58.69Cu63.55Zn65.41Ga69.72Ge72.64As74.92Se78.96Br79.90Kr83.80Rb85.47Sr87.62Y 88.91Zr91.22Nb92.91Mo95.94Ru101.1Rh102.9Pd106.4Ag107.9Cd112.4In114.8Sn118.7Sb121.8Te127.6I 126.9Xe131.3Cs132.9Ba137.3La138.9Ce140.1Pr140.9Nd144.2Sm150.4Eu152.0Gd157.3Tb158.9Dy162.5Ho164.9Er167.3Tm168.9Yb173.0Lu175.0Hf178.5Ta180.9W 183.8Re186.2Os190.2Ir192.2Pt195.1Au197.0Hg200.6Tl204.4Pb207.2Bi209.0Th232.0Pa231.0U 238.0"→Str1
Menu("","ELEMENTS",31,"HALF-LIFE",32,"MOLES",33,"COMPOUNDS",34,"COMBUSTION",35,"FACTOR",36,"BACK",0)
Lbl 4
ClrHome
Disp "Y=AX²+BX+C"
Prompt A
Prompt B
Prompt C
⁻B/2/A→H
C-B²/4/A→K
(√(B²-4AC)-B)/2/A→R
(⁻B-√(B²-4AC))/2/A→S
{0,1}→L₁
{0,A}→L₂
LinReg(ax+b) Y₁
{0,B}→L₂
LinReg(ax+b) Y₂
{0,C}→L₂
LinReg(ax+b) Y₃
Equ►String(Y₁,Str4)
Equ►String(Y₂,Str5)
Equ►String(Y₃,Str6)
"Y="→Str1
If A-1
Str1+sub(Str4,1,length(Str4)-3)→Str1
Str1+"X²"→Str1
"X"→Str7
If abs(B)-1
sub(Str5,(B<0)+1,length(Str5)-(B<0)-3)+Str7→Str7
If B>0
Str1+"+"+Str7→Str1
If B<0
Str1+"-"+Str7→Str1
If C>0
Str1+"+"+sub(Str6,1,length(Str6)-3)→Str1
If C<0
Str1+"-"+sub(Str6,2,length(Str6)-4)→Str1
{0,H}→L₂
LinReg(ax+b) Y₁
{0,K}→L₂
LinReg(ax+b) Y₂
Equ►String(Y₁,Str5)
Equ►String(Y₂,Str6)
"Y="→Str2
If A-1
Str2+sub(Str4,1,length(Str4)-3)→Str2
If H>0
Str2+"(X-"+sub(Str5,1,length(Str5)-3)+")²"→Str2
If H<0
Str2+"(X+"+sub(Str5,2,length(Str5)-4)+")²"→Str2
If H=0
Str2+"X²"→Str2
If K>0
Str2+"+"+sub(Str6,1,length(Str6)-3)→Str2
If K<0
Str2+"-"+sub(Str6,2,length(Str6)-4)→Str2
If imag(R)imag(S)=0
Then
{0,R}→L₂
LinReg(ax+b) Y₁
{0,S}→L₂
LinReg(ax+b) Y₂
Equ►String(Y₁,Str5)
Equ►String(Y₂,Str6)
"Y="→Str3
If A-1
Str3+sub(Str4,1,length(Str4)-3)→Str3
If R>0
Str3+"(X-"+sub(Str5,1,length(Str5)-3)+")"→Str3
If R<0
Str3+"(X+"+sub(Str5,2,length(Str5)-4)+")"→Str3
If not(R)
Str3+"X"→Str3
If S>0
Str3+"(X-"+sub(Str6,1,length(Str6)-3)+")"→Str3
If S<0
Str3+"(X+"+sub(Str6,2,length(Str6)-4)+")"→Str3
If Rnot(S)
Str3+"X"→Str3
If not(S)not(R)
Str3+"²"→Str3
End
FnOff
ClrDraw
Text(0,0,"GENERAL FORM:")
Text(6,0,Str1)
Text(12,0,"VERTEX FORM:")
Text(18,0,Str2)
Text(24,0,"FACTORED FORM:")
If imag(R) or imag(S)
Then
Text(30,0,"NONEXISTENT")
Else
Text(30,0,Str3)
End
Text(36,0,"Y-INTERCEPT: ",C)
Text(42,0,"VERTEX: (",H,", ",K,")")
Text(48,0,"X-INTERCEPTS:")
If not(imag(R))not(imag(S))
Then
If fPart(R) or fPart(S)
Then
If fPart(√(B²-4AC))
Then
Text(54,0,"(",⁻B,"+√(",B²-4AC,"))/",2A," OR (",⁻B,"-√(",B²-4AC,"))/",2A)
Else
Text(54,0,⁻B+√(B²-4AC),"/",2A," OR ",⁻B-√(B²-4AC),"/",2A)
End
Else
Text(54,0,R," OR ",S)
End
Else
Text(54,0,"NONEXISTENT")
End
Pause
Goto 0
Lbl 5
Degree
ClrDraw
Line(1,5,⁻7,⁻2)
Line(⁻7,⁻2,5,⁻2)
Line(5,⁻2,1,5)
Text(18,32,"a")
Text(20,63,"b")
Text(38,45,"c")
Text(30,61,"A")
Text(30,27,"B")
Text(18,50,"C")
Pause
{0}→ʟTRIAN
" a b c A B C "→Str1
For(A,1,3
ClrHome
Disp "PROVIDE THREE OF"," THE FOLLOWING:","","SIDES ANGLES",sub(Str1,2,16)," -"
2→B
Repeat K=105
getKey→K
If K
Then
Output(6,B," ")
B-2(K=24)+2(K=26)→B
B+16not(B)+4(B=8)-4(B=10)-16(B=18)→B
Output(6,B,"-")
If sub(Str1,B,1)="{UNKNOWN TOKEN [126]}LinReg(ax+b) "
0→K
End
End
sub(Str1,B+1,1)+"="→Str2
Input Str2,C
If C>0
Then
augment(ʟTRIAN,{B,C})→ʟTRIAN
sub(Str1,1,B-1)+"{UNKNOWN TOKEN [126]}LinReg(ax+b) "+sub(Str1,B+1,17-B)→Str1
Else
A-1→A
Disp " INVALID VALUE!"
End
End
{ʟTRIAN(2),ʟTRIAN(4),ʟTRIAN(6)}→ʟTMPRR
ClrHome
If sum(ʟTMPRR<7)=3
Then
For(D,2,6,2)
If ʟTRIAN(D)=2
ʟTRIAN(D+1)→A
If ʟTRIAN(D)=4
ʟTRIAN(D+1)→B
If ʟTRIAN(D)=6
ʟTRIAN(D+1)→C
End
If A+B>C and B+C>A and C+A>B
Then
Disp "A=",cos⁻¹((B²+C²-A²)/(2BC)),"B=",cos⁻¹((C²+A²-B²)/(2CA)),"C=",cos⁻¹((A²+B²-C²)/(2AB)),"Area="
Output(8,1,ABsin(cos⁻¹((A²+B²-C²)/(2AB)))/2)
Pause
End
End
If sum(ʟTMPRR<7)=2
Then
{ʟTRIAN(3),ʟTRIAN(5),ʟTRIAN(7)}→ʟTSORT
SortD(ʟTMPRR,ʟTSORT)
If ʟTMPRR(1)≠ʟTMPRR(2)+8 and ʟTMPRR(1)≠ʟTMPRR(3)+8 and ʟTSORT(1)<180
Then
sub("aCB bCA cBA",3ʟTMPRR(1)-35,3)→Str1
√(ʟTSORT(2)²+ʟTSORT(3)²-2ʟTSORT(2)ʟTSORT(3)cos(ʟTSORT(1)))→S
sin⁻¹(ʟTSORT(2)sin(ʟTSORT(1))/S)→A
Disp sub(Str1,1,1)+"=",S,sub(Str1,2,1)+"=",A,sub(Str1,3,1)+"=",180-A-ʟTSORT(1),"Area="
Output(8,1,ʟTSORT(2)ʟTSORT(3)sin(ʟTSORT(1))/2)
Pause
End
End
If sum(ʟTMPRR<7)=1
Then
{ʟTRIAN(3),ʟTRIAN(5),ʟTRIAN(7)}→ʟTSORT
SortA(ʟTMPRR,ʟTSORT)
If ʟTSORT(2)+ʟTSORT(3)<180
Then
0→A
0→B
0→C
For(D,2,3)
If ʟTMPRR(D)=12
ʟTSORT(D)→A
If ʟTMPRR(D)=14
ʟTSORT(D)→B
If ʟTMPRR(D)=16
ʟTSORT(D)→C
End
If A=0
Then
"A="→Str1
180-B-C→A
End
If B=0
Then
"B="→Str1
180-A-C→B
End
If C=0
Then
"C="→Str1
180-A-B→C
End
sub("bc ac ab",2ʟTMPRR(1)-3,2)→Str2
For(D,1,2)
round(sin(expr(sub("ABC",inString("abc",sub(Str2,D,1)),1)))ʟTSORT(1)/sin(expr(sub(" A B C",ʟTMPRR(1),1))),8)→ʟTSIDE(D)
Disp sub(Str2,D,1)+"=",ʟTSIDE(D)
End
Disp Str1,expr(sub(Str1,1,1)),"Area="
Output(8,1,prod(ʟTSIDE)sin(expr(sub(" A B C",ʟTMPRR(1),1)))/2)
Pause
End
End
Radian
Goto 0
Lbl 6
1→A
ClrHome
Disp "BASE: ","+-+","!2!6 8 16 ROMAN","+-+"
Repeat K=105
getKey→K
If K
Then
A-(K=24)+(K=26)+5(K=24 and A=1)-5(K=26 and A=5)→B
If A<4
Then
Output(2,2A-1," ")
Output(3,2A-1," ")
Output(3,2A+1," ")
Output(4,2A-1," ")
End
If A=4
Then
Output(2,7," ")
Output(3,7," 16 ")
Output(4,7," ")
End
If A=5
Then
Output(2,10," ")
Output(3,10," ROMAN ")
Output(4,10," ")
End
If B<4
Then
Output(2,2B-1,"+-+")
Output(3,2B-1,"!")
Output(3,2B+1,"!")
Output(4,2B-1,"+-+")
End
If B=4
Then
Output(2,7,"+--+")
Output(3,7,"!16!")
Output(4,7,"+--+")
End
If B=5
Then
Output(2,10,"+-----+")
Output(3,10,"!ROMAN!")
Output(4,10,"+-----+")
End
B→A
End
End
If A=1
Disp "BINARY:"
If A=2
Disp "HEXAL:"
If A=3
Disp "OCTAL:"
If A=4
Disp "HEXADECIMAL:"
If A<5
Then
expr(sub("02060816",2A-1,2))→A
Input "",Str1
0→B
If not(inString(Str1,"."))
Str1+"."→Str1
For(C,1,length(Str1))
If not(inString(sub(".0123456789ABCDEF",1,A+1),sub(Str1,C,1)))
Then
Pause "INVALID ENTRY!"
length(Str1)+1→C
Else
If sub(Str1,C,1)≠"."
B+(inString("0123456789ABCDEF",sub(Str1,C,1))-1)A^(inString(Str1,".")-C-(inString(Str1,".")>C))→B
End
End
If C≠length(Str1)+2
Then
Disp "DECIMAL:",B
Pause
End
Else
1→I
5→V
10→X
50→L
100→C
500→D
1000→M
Input "ROMAN NUMERAL: ",Str1
0→N
For(O,1,length(Str1))
If not(inString("IVXLCDM",sub(Str1,O,1)))
Then
Pause "INVALID ENTRY!"
length(Str1)+1→O
Else
N+expr(sub(Str1,O,1))→N
If O≠length(Str1
Then
If expr(sub(Str1,O,1))<expr(sub(Str1,O+1,1))
N-2expr(sub(Str1,O,1))→N
End
End
End
If O≠length(Str1)+2
Then
Disp "ARABIC NUMERAL:",N
Pause
End
End
Goto 0
Lbl 7
Stop
Lbl 11
Menu("","TRIANGLE",41,"PARALLELOGRAM",42,"TRAPEZOID",43,"REGULAR GON",44,"CIRCLE",45,"ELLIPSE",46,"BACK",1)
Lbl 12
Menu("","PRISM",51,"PYRAMID",52,"CYLINDER",53,"CONE",54,"SPHERE",55,"ELLIPSOID",56,"BACK",1)
Lbl 13
Menu("","CUBE",71,"RECTANGULAR",72,"CYLINDER",73,"CONE",74,"SPHERE",75,"REGULAR HEDRON",76,"BACK",1)
Lbl 14
ClrDraw
Text(0,0,"sin(θ)csc(θ)=1")
Text(6,0,"cos(θ)sec(θ)=1")
Text(12,0,"tan(θ)cot(θ)=1")
Text(18,0,"cos(θ)tan(θ)=sin(θ)")
Text(24,0,"sin(θ)cot(θ)=cos(θ)")
Text(30,0,"sin(θ)²+cos(θ)²=1")
Text(36,0,"tan(θ)²+1=sec(θ)²")
Text(42,0,"cot(θ)²+1=csc(θ)²")
Text(48,0,"cos(A+B)=cos(A)cos(B)")
Text(54,33,"-sin(A)sin(B)")
Pause
ClrDraw
Text(0,0,"cos(A-B)=cos(A)cos(B)")
Text(6,33,"+sin(A)sin(B)")
Text(12,0,"sin(A+B)=sin(A)cos(B)")
Text(18,31,"+cos(A)sin(B)")
Text(24,0,"sin(A-B)=sin(A)cos(B)")
Text(30,31,"-cos(A)sin(B)")
Text(40,0,"tan(A+B)=")
Text(36,33,"tan(A)+tan(B)")
Line(⁻3,⁻4,7.2,⁻4)
Text(44,33,"1-tan(A)tan(B)")
Pause
ClrDraw
Text(4,0,"tan(A-B)=")
Text(0,33,"tan(A)-tan(B)")
Line(⁻3,7.7,7.2,7.7)
Text(8,33,"tan(A)tan(B)+1")
Text(14,0,"cos(2θ)=cos(θ)²-sin(θ)²")
Text(20,25,"=2cos(θ)²-1")
Text(26,25,"=1-2sin(θ)²")
Text(32,0,"sin(2θ)=2sin(θ)cos(θ)")
Text(42,0,"tan(2θ)=")
Text(38,29,"2tan(θ)")
Line(⁻3.8,⁻4.5,2.8,⁻4.5)
Text(46,29,"1-tan(θ)²")
Pause
ClrDraw
Text(4,0,"cos(")
Text(0,14,"θ")
Line(⁻7,7.7,⁻6.6,7.7)
Text(8,14,2)
Text(4,18,")=+√(")
Line(⁻4.7,7,⁻4.3,7)
Text(0,36,"cos(θ)+1")
Line(⁻2.3,7.7,3.4,7.7)
Text(8,36,2)
Text(4,65,")")
Text(18,0,"sin(")
Text(14,12,"θ")
Line(⁻7.4,3.2,⁻7,3.2)
Text(22,12,2)
Text(18,16,")=+√(")
Line(⁻5.1,2.6,⁻4.7,2.6)
Text(14,34,"1-cos(θ)")
Line(⁻2.8,3.2,3,3.2)
Text(22,34,2)
Text(18,63,")")
Text(32,0,"tan(")
Text(28,14,"θ")
Line(⁻7,⁻1.3,⁻6.6,⁻1.3)
Text(36,14,2)
Text(32,18,")=+√(")
Line(⁻4.7,⁻2,⁻4.3,⁻2)
Text(28,36,"1-cos(θ)")
Line(⁻2.3,⁻1.3,3.4,⁻1.3)
Text(36,36,"cos(θ)+1")
Text(32,65,")")
Text(46,21,"=")
Text(42,25,"sin(θ)")
Line(⁻4.7,⁻5.8,1,⁻5.8)
Text(50,25,"cos(θ)+1")
Text(46,54,"=")
Text(42,58,"1-cos(θ)")
Line(2.3,⁻5.8,8,⁻5.8)
Text(50,58,"sin(θ)")
Pause
ClrDraw
Text(0,0,"sin(θ)=cos(90°-θ)")
Text(6,0,"cos(θ)=sin(90°-θ)")
Text(12,0,"tan(θ)=cot(90°-θ)")
Text(18,0,"csc(θ)=sec(90°-θ)")
Text(24,0,"sec(θ)=csc(90°-θ)")
Text(30,0,"cot(θ)=tan(90°-θ)")
Pause
Goto 1
Lbl 15
ClrHome
Input "Y₁=",Str1
Str1→Y₁
FnOn 1
Input "X=",A
round(nDeriv(Y₁,X,A),8)→B
Y₁(A)-AB→A
{0,1}→L₁
{A,B+A}→L₂
LinReg(ax+b) Y₂
Equ►String(Y₂,Str1)
inString(Str1,"+⁻")→A
inString(Str1,"+0")→B
If A
sub(Str1,1,A-1)+"-"+sub(Str1,A+2,length(Str1)-A-1)→Str1
If B
sub(Str1,1,B-1)→Str1
String►Equ(Str1,Y₂)
AxesOn
DispGraph
Pause Str1
FnOff
AxesOff
Goto 1
Lbl 16
ClrHome
Input "Y₁=",Str1
Str1→Y₁
Input "Xmin=",A
Input "Xmax=",B
Input "DIVISIONS: ",C
(B-A)/C→C
0→D
0→E
0→F
For(G,A,B-C,C)
D+CY₁(G)→D
E+CY₁(G+C/2)→E
End
D-CY₁(A)+CY₁(B)→F
If C<0
Then
F→G
D→F
G→D
End
If A≠B
Then
min({A,B})→Xmin
max({A,B})→Xmax
AxesOn
FnOn 1
ZoomFit
Shade(0,Y₁,Xmin,Xmax)
Shade(Y₁,0,Xmin,Xmax)
End
ClrHome
Disp "Left side=",D,"Midpoint=",E,"Right side=",F,"Simpson's rule="
Output(8,1,(D+F+4E)/6)
Pause
FnOff
ZStandard
AxesOff
Goto 1
Lbl 21
{1000,100,1,.001,39.3700787,3.2808399,1.0936133,.000621371192}→ʟUNIT
ClrDraw
For(D,4,51,47)
Text(0,D-4,">mm")
Text(6,D,"cm")
Text(12,D,"m")
Text(18,D,"km")
Text(24,D,"in")
Text(30,D,"ft")
Text(36,D,"yd")
Text(42,D,"mi")
End
Goto 20
Lbl 22
{10000,1,.01,.000001,1550.0031,1.19599005,.000247105381,.000000386102159}→ʟUNIT
ClrDraw
For(D,4,51,47)
Text(0,D-4,">cm²")
Text(6,D,"m²")
Text(12,D,"are")
Text(18,D,"km²")
Text(24,D,"in²")
Text(30,D,"yd²")
Text(36,D,"acr")
Text(42,D,"mi²")
End
Goto 20
Lbl 23
{1000,1,.001,61.0237441,33.8140227,.264172052,.0353146667,.0283775918}→ʟUNIT
ClrDraw
For(D,4,51,47)
Text(0,D-4,">cc")
Text(6,D,"L")
Text(12,D,"m³")
Text(18,D,"in³")
Text(24,D,"oz")
Text(30,D,"gal")
Text(36,D,"ft³")
Text(42,D,"bus")
End
Goto 20
Lbl 24
{1000000,1000,1,.001,35.2739619,2.20462262,.00110231131,.000984206528}→ʟUNIT
ClrDraw
For(D,4,51,47)
Text(0,D-4,">mg")
Text(6,D,"g")
Text(12,D,"kg")
Text(18,D,"T")
Text(24,D,"oz")
Text(30,D,"lb")
Text(36,D,"sT")
Text(42,D,"lT")
End
Goto 20
Lbl 25
{100,1,.001,3.6,39.3700787,3.2808399,.000621371192,2.23693629}→ʟUNIT
ClrDraw
For(D,4,51,47)
Text(0,D-4,">cm/s")
Text(6,D,"m/s")
Text(12,D,"kmps")
Text(18,D,"kmph")
Text(24,D,"in/s")
Text(30,D,"ft/s")
Text(36,D,"mps")
Text(42,D,"mph")
End
Goto 20
Lbl 26
Menu("","°C>F",01,"°F>C",02,"°C>K",03,"K>°C",04,"°F>K",05,"K>°F",06,"Back",2)
Lbl 01
ClrHome
Input "°C=?",C
Pause 9C/5+32
Goto 2
Lbl 02
ClrHome
Input "°F=?",F
Pause 5(F-32)/9
Goto 2
Lbl 03
ClrHome
Input "°C=?",C
Pause C+273.16
Goto 2
Lbl 04
ClrHome
Prompt K
Pause K-273.16
Goto 2
Lbl 05
ClrHome
Input "°F=?",F
Pause 5(F-32)/9+273.16
Goto 2
Lbl 06
ClrHome
Prompt K
Pause 9(K-273.16)/5+32
Goto 2
Lbl 20
1→A
1→B
0→C
" "→Str1
While C≠45 and C≠105
0→C
Repeat C
getKey→C
End
If C=21 or C=31
Then
Text(6A-6,0," ")
A-(C=21)+(C=31)→A
If A=0
8→A
If A=9
1→A
Text(6A-6,0,">")
End
If C=25 or C=34
Then
Text(6B-6,47," ")
B-(C=25)+(C=34)→B
If B=0
8→B
If B=9
1→B
Text(6B-6,47,">")
End
If fPart(C/10)≥.2 and fPart(C/10)≤.4 and C>70 and C<103 and length(Str1)<12 or C=103not(inString(Str1,".")) and length(Str1)<12 and length(Str1)-1
Str1+sub("789 456 123 0.",C-71,1)→Str1
If C=23 and length(Str1)-1
sub(Str1,1,length(Str1)-1)→Str1
Text(57,3," ")
Text(57,3,Str1)
Text(57,51," ")
If length(Str1)-1
Text(57,51,expr(sub(Str1,2,length(Str1)-1))/ʟUNIT(A)ʟUNIT(B))
End
Goto 2
Lbl 31
1→A
ClrHome
Disp "{UNKNOWN TOKEN [126]}DispTable SYMBOL MASS","1 H 1.008","2 He 4.003","3 Li 6.941","4 Be 9.012","5 B 10.81","6 C 12.01"
Output(8,1,"7 N 14.01")
Repeat B=45 or B=105
getKey→B
If B
Then
A-(B=25 and A>1)+(B=34 and A<12)→A
For(C,2,8)
Output(C,1," "+sub(Str1,49A+7C-62,2)+" "+sub(Str1,49A+7C-60,5))
Output(C,1,7A+C-8+(7A+C-8>42)+(7A+C-8>59)+6(7A+C-8>81))
End
End
End
Goto 3
Lbl 32
ClrHome
Disp "FIND:",">HALF-LIFE"," ABSOLUTE AGE"," INITIAL VALUE"," REMAINING"
1→A
Repeat B=105
getKey→B
If B
Then
Output(A+1,1," ")
A-(B=25)+(B=34)+4(B=25 and A=1)-4(B=34 and A=4)→A
Output(A+1,1,">")
End
End
If A≠1
Input "HALF-LIFE=",B
If A≠2
Input "ABSOLUTE AGE=",C
If A≠3
Input "INITIAL VALUE=",D
If A≠4
Input "REMAINING=",E
If A=1
Disp "HALF-LIFE=",Clog(2)/log(D/E)
If A=2
Disp "ABSOLUTE AGE=",Blog(D/E)/log(2)
If A=3
Disp "INITIAL VALUE=",E2^(C/B)
If A=4
Disp "REMAINING=",D2^(⁻C/B)
Pause
Goto 3
Lbl 33
ClrHome
Disp "INPUT EITHER THE","ATOMS/MOLECULES,","OR THE NUMBER OF","MOLES"
Input "{UNKNOWN TOKEN [126]}DispTable=?",A
If A≤ᴇ10
Pause A6.022ᴇ23
If A>ᴇ10
Pause A/6.022ᴇ23
Goto 3
Lbl 34
1→F
{0}→ʟELEME
Asm(prgmLOW)
ClrHome
Disp "NUMBER DENOTES A","SUBSCRIPT, AND *","[recursiven]H2O IS HYDRATE,","E.G. CuCl2*5H2O;","FOR SMALL LETTER","PRESS ALPHA 2×"
Input "FORMULA: ",Str3
" "+Str3+" "→Str3
For(I,4,length(Str3)-1)
If sub(Str3,I,1)="(" and inString("23456789",sub(Str3,inString(Str3,")",I)+1,1))
expr(sub(Str3,inString(Str3,")",I)+1,1))→F
If sub(Str3,I,1)=")"
1→F
If sub(Str3,I,1)="*" and sub(Str3,length(Str3)-3,3)="H2O" and (I=length(Str3)-4 or inString("23456789",sub(Str3,length(Str3)-4,1)))
Then
length(Str3)→I
If dim(ʟELEME)<25
Then
0→ʟELEME(dim(ʟELEME)+1)
18.016→ʟELEME(dim(ʟELEME)+1)
1→ʟELEME(dim(ʟELEME)+1)
If inString("23456789",sub(Str3,length(Str3)-3,1))
expr(sub(Str3,length(Str3)-3,1))→ʟELEME(dim(ʟELEME))
End
Else
If inString("ABCDEFGHIKLMNOPRSTUVWXYZ",sub(Str3,I,1))
Then
I+1→I
If inString("abcdefghilmnorstuy",sub(Str3,I,1))
Then
I+1→I
sub(Str3,I-2,2)→Str2
Else
sub(Str3,I-1,1)+" "→Str2
End
inString(Str1,Str2)→P
F→S
If inString("23456789",sub(Str3,I,1))
Then
I+1→I
Fexpr(sub(Str3,I-1,1))→S
End
0→K
For(J,2,dim(ʟELEME)-2,3)
If ʟELEME(J)=P
J→K
End
If K
Then
ʟELEME(K+2)+S→ʟELEME(K+2)
Else
P→ʟELEME(dim(ʟELEME)+1)
expr(sub(Str1,inString(Str1,Str2)+2,5))→ʟELEME(dim(ʟELEME)+1)
S→ʟELEME(dim(ʟELEME)+1)
End
I-1→I
End
End
If dim(ʟELEME)=28
Then
length(Str3)→I
Pause "TOO MANY ATOMS!"
Goto 3
End
End
0→T
For(I,3,dim(ʟELEME)-1,3)
For(J,1,ʟELEME(I+1))
T+ʟELEME(I)→T
End
End
dim(ʟELEME)-2→D
25→dim(ʟELEME)
ClrDraw
For(I,2,D,3)
If ʟELEME(I)=0
Then
Text(2I-4,0,"H O: ",1801.6ʟELEME(I+2)/(ʟELEME(3)ʟELEME(4)+ʟELEME(6)ʟELEME(7)+ʟELEME(9)ʟELEME(10)+ʟELEME(12)ʟELEME(13)+ʟELEME(15)ʟELEME(16)+ʟELEME(18)ʟELEME(19)+ʟELEME(21)ʟELEME(22)+ʟELEME(24)ʟELEME(25)),"%")
Text(2I-2,4,"²")
Else
Text(2I-4,0,sub(Str1,ʟELEME(I),2),": ",100ʟELEME(I+1)ʟELEME(I+2)/(ʟELEME(3)ʟELEME(4)+ʟELEME(6)ʟELEME(7)+ʟELEME(9)ʟELEME(10)+ʟELEME(12)ʟELEME(13)+ʟELEME(15)ʟELEME(16)+ʟELEME(18)ʟELEME(19)+ʟELEME(21)ʟELEME(22)+ʟELEME(24)ʟELEME(25)),"%")
End
End
Text(51,0,"TOTAL MASS: ",ʟELEME(3)ʟELEME(4)+ʟELEME(6)ʟELEME(7)+ʟELEME(9)ʟELEME(10)+ʟELEME(12)ʟELEME(13)+ʟELEME(15)ʟELEME(16)+ʟELEME(18)ʟELEME(19)+ʟELEME(21)ʟELEME(22)+ʟELEME(24)ʟELEME(25))
0→S
If inString(Str3,"NO3") or inString(Str3,"C2H3O2") or inString(Str3,"ClO3") or inString(Str3,"NH4") or inString(Str3,"Na") or inString(Str3,"K") or inString(Str3,"Rb") or inString(Str3,"Cs")
1→S
If inString(Str3,"Cl") or inString(Str3,"Br") or inString(Str3,"I")
Then
1→S
If inString(Str3,"Ag") or inString(Str3,"Pb") or inString(Str3,"Hg2")
⁻1→S
End
If inString(Str3,"SO4")
Then
1→S
If inString(Str3,"Ba") or inString(Str3,"Sr") or inString(Str3,"Ca") or inString(Str3,"Pb")
⁻1→S
End
If inString(Str3,"CO3") or inString(Str3,"CrO4") or inString(Str3,"OH") or inString(Str3,"PO4") or inString(Str3,"S")
Then
0→Q
If inString(Str3,"S")
Then
If not(inString("bcegimnr",sub(Str3,inString(Str3,"S")+1,1)))
1→Q
End
If not(Q)
Then
For(I,1,109,2)
If inString(Str3,sub("BeMgAlCaScTiCrMnFeCoNiCuZnGaGeSrZrNbMoRuRhPdAgCdInSnSbBaLaCePrNdSmEuGdTbDyHoErTmYbLuHfTaReOsIrPtAuHgTlPbBiThPa",I,2))
⁻1→S
End
If inString(Str3,"V") or inString(Str3,"Y") or inString(Str3,"W") or inString(Str3,"U")
⁻1→S
End
End
"TYPE: "→Str2
If S
"SOLUBLE; "+Str2→Str2
If S<0
"IN"+Str2→Str2
If Str3=" H2O "
Then
Text(57,0,Str2,"MOLECULAR (WATER)")
Else
If sub(Str3,4,1)="H" and sub(Str3,5,1)≠"e"
Then
Text(57,0,Str2,"ACID")
Else
sub(Str3,4,1)+" "→Str4
If inString(Str1,sub(Str3,4,2))
sub(Str3,4,2)→Str4
If inString("HeB C N O F NeSiP S ClArAsSeBrKrTeI Xe",Str4)
Then
Text(57,0,Str2,"MOLECULAR")
Else
Text(57,0,Str2,"IONIC")
End
End
End
Pause
Goto 3
Lbl 35
ClrHome
Input "HYDROCARBON: ",Str2
Str2+"O"→Str2
If sub(Str2,1,1)≠"C" or not(inString(Str2,"H"))
Then
Pause "NOT HYDROCARBON!"
Goto 3
End
For(A,1,length(Str2))
If not(inString("CHO0123456789",sub(Str2,A,1)))
Then
Pause "NOT HYDROCARBON!"
Goto 3
End
End
If sub(Str2,2,1)="H"
Then
1→A
Else
expr(sub(Str2,2,inString(Str2,"H")-2))→A
End
If sub(Str2,inString(Str2,"O")-1,1)="H"
Then
1→B
Else
expr(sub(Str2,inString(Str2,"H")+1,inString(Str2,"O")-inString(Str2,"H")-1))→B
End
sub(Str2,1,length(Str2)-1)→Str2
0→C
If inString(Str2,"O")
Then
If inString(Str2,"O")=length(Str2)
Then
1→C
Else
expr(sub(Str2,inString(Str2,"O")+1,length(Str2)-inString(Str2,"O")))→C
End
End
If fPart(B/2)
Then
4A→A
4B→B
4C→C
"4"+Str2→Str2
End
If fPart(B/4) or fPart(C/2)
Then
2A→A
2B→B
2C→C
"2"+Str2→Str2
End
ClrHome
Output(1,1,Str2+"+"+sub("1020304050607080901011121314151617181920212223242526272829303132333435363738394041424344454647484950",2(A+B/4-C/2)-1,(A+B/4-C/2>9)+1)+"O₂{UNKNOWN TOKEN [126]}LinReg(ax+b) "+sub("1020304050607080901011121314151617181920212223242526272829303132333435363738394041424344454647484950",2A-1,(A>9)+1)+"CO₂+"+sub("1020304050607080901011121314151617181920212223242526272829303132333435363738394041424344454647484950",2B/2-1,(B/2>9)+1)+"H₂O")
Pause
Goto 3
Lbl 36
ClrHome
Input "{UNKNOWN TOKEN [126]}DispTable=?",A
If A<0
Then
Pause "INVALID!"
Goto 1
End
A→B
1→C
{1}→L₁
While prod(L₁)<A
C+1→C
While fPart(B/C)=0
B/C→B
augment(L₁,{C})→L₁
End
End
If A>1
DeltaList(cumSum(L₁)→L₁
If A=0
{0}→L₁
Pause L₁
Goto 3