# Programming TI Graphing Calculators

To get you started programming, you may wish to try to write a code that can accomplish one of the goals below (in order of easier to harder). Begin by finding your calculator's manual (available for free online) and reading the chapter on programming and referencing the list of functions in the Appendix. Personally, I have used the TI-83/TI-84 and the TI-89 to make programs.
•  Solve any quadratic equation (even if a = 0)
•  Convert any temperature unit to all the other units (because temperature unit conversion is so annoying to do by hand!)
•  Make a magic eight ball or mystic
•  Display a clock (may run at different speeds on different calculators)
•  Calculate π using this formula (see the non-alternating series provided in the link). If you know calculus, you can integrate the remaining terms in the non-alternating series to give a very accurate result! For best results, be mindful of round-off error, so sum the smallest terms first.
•  Convert a number in any base to any other base. We normally use a base-10 number system, but binary (base 2) and hexadecimal (base 16) are often used in computer science.

Here are some hints for the last idea in the above list...
Hint 1: Bases above 36 will be awkward due to running out of common symbols, so maybe don't allow that, allowing you to create the reasonably sized string "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ". Though going up to base 60 may be a noble endeavor.
Hint 2: Before creating string of number in final base, first loop over digits of input string to convert to a number (not a string). By the way, you may think of this number as a base-10 number because you will use base 10 when writing numbers in your code and because the code will display numbers in base 10, but any calculator or computer is actually storing numbers in binary behind the scenes.
Hint 3: Here is Python code I made to do this (designed to be easily converted to calculator code; do one of these if you actually want to use Python). It will have to be modified for use on a calculator because Python starts counting indices at 0 instead of 1, and Python uses ** to denote exponent. To do on a TI-84, you'll need the inString(), length(), sub(), and iPart() commands. 