Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
TI-BASIC
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Data types === TI-BASIC is a [[strong typing|strongly]] and [[dynamic typing|dynamically typed]] language. Available data types differ considerably between the 68k and Z80 versions. It is not possible to create user-defined data types without using a library written in assembly. Lists are often used as a replacement for [[record (computer science)|structs]]. ==== TI-83/84 (Z80) ==== * Numerical [[variable (programming)|variables]], including <code>A</code> - <code>Z</code> and <code>[[theta|ΞΈ]]</code> (theta). These allow [[real number]]s or [[complex number]]s (implemented as pairs of reals) to be stored in [[floating point]] format. Values may range from 1<small>E</small>-99 to 1<small>E</small>99 with 14 digits of accuracy,<ref>{{Cite book |url=https://education.ti.com/html/eguides/discontinued/computer-software/EN/SDK-TI-83-Developer-Guide_EN.pdf |title=TI-83 Plus Developer Guide |date=May 28, 2002 |publisher=Texas Instruments Incorporated |edition=3rd |pages=22β23 |language=en |archive-date=March 19, 2025 |access-date=August 15, 2024 |archive-url=https://web.archive.org/web/20250319142345/https://education.ti.com/html/eguides/discontinued/computer-software/EN/SDK-TI-83-Developer-Guide_EN.pdf |url-status=live }}</ref> although only 10 digits are usually displayed to users. The limit of 27 variables, however, may be expanded through the use of lists, matrices, and manipulation of integer notation. A list or matrix can be used to contain unique real variables which can be individually referenced. Integers can be concatenated into a single real variable by delineating them as the integer and decimal halves of a real number; each half is then accessed independently via the iPart and fPart commands. Variables with binary values can be stored as a single integer through conversion between base 2 and base 10. * [[String (computer science)|Strings]], including <code>Str0</code> - <code>Str9</code>. These may store any number of characters or even function names, as long as there is available memory. They can be evaluated as an expression with the <code>expr()</code> function, which is found in the catalog. * Lists, including <code>L<small>1</small></code> - <code>L<small>6</small></code>, with the ability to create additional ones. These are essentially [[one-dimensional]] [[array data type|arrays]] used to store a real or complex number into each of their [[array data structure|elements]]. The [[dimension]] of a list, its number of elements, may range from 1 to 999, although [[available]] [[Random-access memory|memory]] may be a [[limiting factor]]. When a list's dimension is set lower than it had been, elements at the end are cut off. When set higher, extra elements at the end are filled with zeros. Dimensions are set by storing a valid number into the <code>dim(</code> of the list name. The default lists are named L<small>1</small>βL<small>6</small>, but custom lists can be created. This is done by setting dimension of a list referenced with the <small>L</small> [[lexical analysis#Token|token]] in the <code>Lists</code>, followed by a name ranging from 1 to 5 [[character (computing)|characters]] that begins with an uppercase letter <code>A</code> - <code>Z</code> and <code>[[theta|ΞΈ]]</code>. Individual elements of lists can be accessed by placing the element number in [[Bracket#Parentheses|parentheses]] after the list name. * [[Matrix (mathematics)|Matrices]], including <code>[A]</code> - <code>[J]</code>. Their elements are subject to the same restrictions as lists. Their dimensions may be defined up to 99x99 elements, although, again, available memory will limit this. It is not possible to create user-defined matrices, so only the ten built in ones may be utilized. * Equation variables, including <code>Y<small>0</small></code> - <code>Y<small>9</small></code>, <code>r<small>1</small></code> - <code>r<small>6</small></code>, and <code>u</code>, <code>v</code>, <code>w</code>. These are essentially strings which store equations. They are evaluated to return a value when used in an expression or program. Specific values, (constant, C) can be plugged in for the independent variable (X) by following the equation name (dependent, Y) by the constant value in parentheses. In the example below, "(4)" is used (for no particular reason). (<code>Y<small>1</small></code>(4) would return the value of <code>Y<small>1</small></code> at X=4) Data types that cannot be directly manipulated include: * Pictures (<code>Pic0</code> - <code>Pic9</code>) * Background (<code>Image0</code> - <code>Image9</code>) * Programs (<code>prgm</code>) * Graph databases (<code>GDB0</code> - <code>GDB9</code>) * Color (<code>BLUE</code>, <code>RED</code>,..., <code>GRAY</code>) (15 colors in total) ==== TI-89 (68k) ==== * Integers, which can store a large amount of data. The 68k calculators can store very large numbers, as high as <math>10^{600}</math>, with perfect accuracy. * Real numbers, using [[decimal floating point]]. These store up to 14 significant digits depending on the calculator model. * [[Complex numbers]], implemented as pairs of reals. * [[String (computer science)|Strings]] * Lists, which are one-dimensional [[linked list]]s which support element-wise operations. On the 68k calculators, elements can be integers, reals, complex numbers, strings or expressions. * [[Matrix (mathematics)|Matrices]], with elements subject to the same restrictions in lists * [[Symbolic computation|Symbolic expressions]], unique to the 68k series. Data types that cannot be directly manipulated (typing only their name on a line would result in an error) include: * Pictures * Data * Programs * Functions
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)