Lbl Goto If Pause Stop End
Obviously, this would be perceived as some sort of challenge to an experienced programmer. A place where your goto instincts can finally be excercised freely. But remember, I was learning to program on this thing. And we're not just talking about pathetic quadratic equation solvers here, no! I wrote a fully functional blackjack and was insane enough to attempt poker!
Fortunately, a friend of my mother's later gave me a TI-82. Now this thing was the real deal. It had just about every control structure that the modern TI-83 features. Everything from For and While, If, Then and Else and the ability to communicate between two connected calculators. I wrote the bane of all geometry teachers in the now infamous Crashcourse program (which was coded during Freshman speech). I even wrote an unbeatable Tic-Tac-Toe program during a series of particularly boring Chemistry lectures (Sophomore Year) but this was less popular...seeing as you couldn't win. I also discovered the incredible archive available at ticalc.org. Apparently, some ingenious hacker figured out a way to use direct, assembly level programming on the TI-82's 6 MHz ZiLOG Z80. This led me to distribute much more sinister programs - ie Final Fantasy IV - throughout the unsuspecting Jenifer Junior High.
The only problem I found with the programs available at ticalc.org was that their math programs almost always lacked documenation, were non-intuitive and often were inaccurate. So, I was forced to write my own. My programs in 8th Grade Algebra literally could have done the entire test, without error. My 9th Grade Geometry system could do everything but the proofs...and had all the important theorems typed in, just in case. This tradition continued up until the second semester of 10th Grade, when I inherited my sister's TI-92. Needless to say, I no longer needed to write any programs when I had a fully featured computer algebra system at my finger tips. This was quite fortunate, by that point I had maxed out the TI-82's 28K of RAM with math programs alone.
Interestingly enough, most of my teachers didn't care if I used a program, so long as I had written it. They did object, however, to me distributing them throughout the programming illiterate population. This problem was solved in a manner very similar to ticalc.org's policy. I was a beginning programmer, what the hell was a UI? I knew that A stood for degrees in the opposite angle, that's all that was important!
So, yes, I look back on TI-BASIC with initial agony...but with a degree of fondness as well. Let's just say it was a bit of a shock when I first tried to move from TI-BASIC to C++...
TI-Basic is the on-board interpreted programming language for graphing calculators made by Texas Instruments. TI-Basic, as implemented on all TI calculators prior to the TI-89, is designed for quick calculations that the user has, for some reason, decided it is best to create a program for. (This is most frequently because the program represents operations that would be frequently used, or the calculation is best executed iteratively or recursively.) This language is quite suitable for tasks such as this, but it was never designed for the impressive uses many programmers have put the language to.
TI-Basic, as implemented on the earlier calculators, has very few control flow expressions. It uses BASIC-style verbose keywords for command blocks, and the earliest forms of TI-Basic do not have blocks of any form, requiring if statements to refer to goto statements should one wish for multiple operations to be executed, and loops must be manually built by use of if and goto. These inadequacies in the language force any significant programming project within the language to become spaghetti code. This form of TI-Basic does not support comments.
The TI-89, and later models of calculator, had a greatly improved form of TI-Basic. On the Voyage 200, with its built-in QWERTY keyboard, it becomes quite feasible to write more complicated programs. Although it retains the bulky "if...then...endif", "for...endfor", and "while...endwhile" syntax of previous forms of the language, it makes great strides in other areas. The most notable improvements are local variables that cannot conflict with previously-existing data, local functions, and indeed the notion of a user-defined function that can return a value at all, so such algorithms can call each other and use each other's output directly, rather than previous forms of TI-Basic which, although they support calling other programs, cannot return values. (Many programmers dodged this obstacle by defining a variable "RET", or some other standard name, that a subroutine's output was placed into where the calling program could read it.) This version of TI-Basic also adds comment functionality.
TI-Basic as implemented on the TI-89, TI-92+, and Voyage 200 is far superior to the language on previous calculators and should be considered a different language. However, the language is still interpreted rather than compiled, and therefore executes extremely slowly compared to programs written in assembly language or, more recently, C, with the assistance of the TIGCC compiler and IDE.
The greatest saving grace for TI-Basic is that it allows programs, of any form, to be written on the calculator without the assistance of a computer. Typing on a calculator keyboard is, however, inconvenient, with the notable exceptions of the TI-92, TI-92+, and Voyage 200, all of which sport QWERTY keyboards. As typing on such a device is inherently slow and bulky anyway, it is unreasonable to expect anything large to be programmed in the language; as a tool to automate repetitious or frequently-used calculations, it does its job just fine.
Calculator programming is easy once you learn what each function does.Here is a list of functions and what you need to do to...uhh...make them work.
Examples are shown underneath in italics {Brackets show actual code}
The following functions can be found under the Draw menu, they obviously draw on the graph window based on given information
Use the following functions to alter the graph window
Of course you can always set the window manually by using the Window screen. The Min value is the lowest value displayed on that axis(X-Min, Y-Min). The Max value is the highest value displayed on that axis(X-Max, Y-Max).
These are the commandos. These bad boys give the orders mercilessly and only obey you. They can tend to make you feel real important. They can also drive you absolutely crazy
Here is the list of [logical test]s for nearly every control function
Okay, now that that's over with, here are the commandos:
OK...one last thing..."calling". By putting the name of a another program into your program (actually there's a menu that should display a list of all the other programs to choose from. When the program reads the other program's name, it will execute that program. But there's one catch, you need a special function instead of Stop in your secondary function:
Well, that's it! Thank you for flying Kilroy Airlines, your nearest exits are here, and here, and enjoy the rest of your stay here in Everything2.com
printable version chaos
Everything2 Help