This is mainly an experiment in user input processing on the TI-84+ CE, but it may turn into a larger project if you want it to!
It is based (sorta) off of Terminal on my Mac, and has a very similar style of commands. Full command list/documentation will be posted ASAP.
Short-Term Project Goals:
1) full command documentation
2) more commands
Long-Term Goals:
1) More commands
2) Optimization/neatness
3) User Friendlyness
I know this could be optimized/made neater, and it is very small, but keep in mind I haven't had much time lately.
Code:
Here's a small GIF I made (My friend wanted it to be a SIRI-like program )
If you have a suggestion, PM me or post a comment in the thread!
Documentation:
grph:
..Parameters:
....Slot (1-3), then Expression
......Ex:
grph -1 sin(X)
a’, then equality/inequality
Ex:
grph -a sin(X)<cos(X+Z)
Use “Z” instead of Y.
disp:
Parameters:
‘c’, then constant name.
Constant list:
e (Euler’s Number)
Pi
More coming Soon
Example:
disp -c pi
say:
Parameters:
Whatever you want the program to spit back out at you.
list:
Parameters:
list num (1-3), then what you want in your list
Example:
list -1 {1,2,3,4,5,6,7,8,9,10,11
‘r’ , calculates linear regression
It is based (sorta) off of Terminal on my Mac, and has a very similar style of commands. Full command list/documentation will be posted ASAP.
Short-Term Project Goals:
1) full command documentation
2) more commands
Long-Term Goals:
1) More commands
2) Optimization/neatness
3) User Friendlyness
I know this could be optimized/made neater, and it is very small, but keep in mind I haven't had much time lately.
Code:
ClrDraw
PlotsOff
Lbl A
Input ":",Str0
Disp "Processing...
length(Str0)→L
If L<4
Then
Goto ER
End
sub(Str0,1,4→Str2
Disp Str2
If L≥9
Then
sub(Str0,5,4→Str1
sub(Str0,9,L-8)→Str9
End
Disp "","Result:"
If Str2="eval" or Str2="EVAL"
Then
If Str1=" b " or Str1=" B "
Then
If expr(Str9
Then
Disp "true"
Else
Disp "false"
End
Else
If Str1=" n " or Str1=" N "
Then
Disp expr(Str9
End
End
Else
If Str2="stop" or Str2="STOP"
Then
Goto ZZ
Else
If Str2="grph" or Str2="GRPH"
Then
If Str1=" 1 "
Then
StringEqu(Str9,Y₁
Else
If Str1=" 2 "
Then
StringEqu(Str9,Y₂
Else
If Str1=" 3 "
Then
StringEqu(Str9,Y₃
Else
If Str1=" a " or Str1=" A "
Then
FnOff
PlotsOff
ClrDraw
ZStandard
For(X,Xmin,Xmax,0.1
For(Z,Ymin,Ymax,0.1
If expr(Str9
Pt-On(X,Z
End
End
End
End
End
Else
If Str2="list" or Str2="LIST"
Then
If Str1=" 1 "
Then
expr(Str9)→L₁
Else
If Str1=" 2 "
Then
expr(Str9)→L₂
Else
If Str1=" 3 "
Then
expr(Str9)→L₃
Else
If Str1=" r " or Str1=" R "
Then
Plot1(Scatter,L₁,L₂
LinReg(ax+b) L₁,L₂,Y₁
ZoomStat
End
End
End
End
Else
If Str2="say " or Str2="SAY"
Then
Disp sub(Str0,5,L-4
Else
If Str2="disp" or Str2="disp"
Then
Disp "1"
Disp Str1
If Str1=" c " or Str1=" C "
Then
Disp Str9
If Str9="pi" or Str9="π" or Str9="PI"
Then
Disp π
Else
If Str9="e" or Str9="" or Str9="E"
Then
Disp
End
End
End
Else
Disp "Invalid instruction"
End
End
End
End
Goto Z
Lbl ER
Disp "ERROR!"
Lbl Z
Goto A
Lbl ZZ
Here's a small GIF I made (My friend wanted it to be a SIRI-like program )
If you have a suggestion, PM me or post a comment in the thread!
Documentation:
grph:
..Parameters:
....Slot (1-3), then Expression
......Ex:
grph -1 sin(X)
a’, then equality/inequality
Ex:
grph -a sin(X)<cos(X+Z)
Use “Z” instead of Y.
disp:
Parameters:
‘c’, then constant name.
Constant list:
e (Euler’s Number)
Pi
More coming Soon
Example:
disp -c pi
say:
Parameters:
Whatever you want the program to spit back out at you.
list:
Parameters:
list num (1-3), then what you want in your list
Example:
list -1 {1,2,3,4,5,6,7,8,9,10,11
‘r’ , calculates linear regression