TI-Basic
TI-Basic ist der Name einer Programmiersprache, mit der programmierbare Taschenrechner der amerikanischen Firma Texas Instruments (TI) arbeiten. Sie unterscheidet sich etwas von der verbreiteten Programmiersprache BASIC. Besonders fĂŒr die neueren Modelle von Texas Instruments, wie den TI-83 Plus bzw. den TI-83 Plus SE, den TI-84 Plus, den TI-89, den TI-92 bzw. TI-92 Plus, den Voyage 200 und den TI-Nspire gibt es heute eine Vielzahl von Programmen.
Allgemeines
[Bearbeiten | Quelltext bearbeiten]Programme und Funktionen
[Bearbeiten | Quelltext bearbeiten]
Mit TI-Basic können sowohl Programme als auch Funktionen erstellt werden. Der Unterschied besteht darin, dass Funktionen im Gegensatz zu Programmen mithilfe des Befehls return Werte zurĂŒckgeben können, sĂ€mtliche anderen Ein- und Ausgabebefehle (Input, Output, PxlOn etc.) sind allerdings nur in Programmen anwendbar. Des Weiteren ist es einer Funktion nicht möglich, Variablen im globalen Namensraum dauerhaft abzuspeichern, sondern nur temporĂ€r und lokal, solange die Funktion ausgefĂŒhrt wird.
Variablen
[Bearbeiten | Quelltext bearbeiten]Im Vergleich zu vielen anderen Programmiersprachen ist die Zahl der möglichen Variablennamen stark limitiert. Es ist (auĂer beim TI-Nspire) nur möglich, Namen zu verwenden, die acht oder weniger Buchstaben haben (beim TI-BASIC-Dialekt des TI-84 und TI-83 sogar nur ein Buchstabe) und nicht den gleichen Namen wie eine Systemvariable (zum Beispiel Y1) haben. Die Zuweisung eines Wertes zu einer Variablen erfolgt meistens ĂŒber den Operator â (Syntax: WertâVariable).
Eine Variable ist immer global und kann von allen Programmen gelesen bzw. bearbeitet werden. Auch nachdem ein Programm beendet wurde, bleiben die Variablen erhalten, sofern sie nicht explizit gelöscht werden.
Programmierung
[Bearbeiten | Quelltext bearbeiten]Neben der direkten Eingabe am TI können die Programme auch extern am Computer bearbeitet und anschlieĂend via Datenkabel an den TI ĂŒbertragen werden.
Bedingungen (alle oben genannten Rechner)
[Bearbeiten | Quelltext bearbeiten]If-Anweisung (ohne Then zÀhlt nur der nÀchste Befehl zur If-Anweisung):
:If Bedingung
:Disp "Bedingung erfĂŒllt"
:Disp "Diese Anweisung wird in jedem Fall ausgefĂŒhrt"
If...Then...EndIf-Anweisungen:
:If Bedingung Then
:Disp "Diese Anweisungen werden"
:Disp "alle nur dann ausgefĂŒhrt,"
:Disp "wenn die Bedingung erfĂŒllt ist"
:EndIf
:Disp "Diese Anweisung wird in jedem Fall ausgefĂŒhrt"
If...Then...Else...EndIf-Anweisungen:
:If Bedingung Then
:Disp "mehrere Anweisungen"
:Else
:Disp "mehrere Anweisungen, die nur ausgefĂŒhrt werden, wenn die Bedingung nicht erfĂŒllt ist"
:EndIf
Schleifen
[Bearbeiten | Quelltext bearbeiten]Alle oben genannten Rechner
[Bearbeiten | Quelltext bearbeiten]TI-Basic beherrscht folgende Arten von Schleifen: die For-Schleife mit ZĂ€hlvariable und die While-Schleife, die ausgefĂŒhrt wird, solange Bedingung wahr ist. DarĂŒber hinaus lassen sich Schleifen mittels Labels realisieren.
| Schleifenart | Verwendung | Beispiel |
|---|---|---|
| For |
:For Variable,Anfang,Ende[,Schrittweite] :Befehle :EndFor |
:For X,0,10,2 :Disp X :EndFor |
| While |
:While Ausdruck :Befehle, solange Bedingung wahr ist :EndWhile |
:While X<5 :X+1âX :EndWhile |
| Label |
:Lbl Labelname :Befehle :Goto Labelname |
:Lbl A :X+1âX :Goto A |
TI-89, TI Voyage 200 und TI-Nspire
[Bearbeiten | Quelltext bearbeiten]Bei dem TI-89, dem TI Voyage 200 sowie dem TI-Nspire steht noch Loop und EndLoop als Endlosschleife zur VerfĂŒgung. Man kann sie â wie While und EndWhile und For und EndFor â mit dem Befehl Exit abbrechen.
| Schleifenart | Verwendung | Beispiel |
|---|---|---|
| Loop |
:Loop :Befehle :EndLoop |
:0âI :Loop :I+1âI :Disp I :If I=10 :Exit :EndLoop |
TI-83 Plus; TI-83 Plus SE; TI-84 Plus
[Bearbeiten | Quelltext bearbeiten]Variablen
[Bearbeiten | Quelltext bearbeiten]Bei diesen Rechnern können folgende Variablen verwendet werden:
| Variablentyp | Variablennamen | Beispiel einer Zuweisung | Begrenzungen |
|---|---|---|---|
| Reelle Zahlen | AâZ, Ξ | 10âX | Bis zu 14 Stellen werden gespeichert, aber nur zehn Stellen ausgegeben |
| Komplexe Zahlen | AâZ, Ξ | 5+7iâY | Bis zu 14 Stellen werden gespeichert, aber nur zehn Stellen ausgegeben |
| Zeichenketten | Str0âStr9 | "TEXT"âStr2 | Die Menge an freiem RAM ist die einzige Begrenzung der LĂ€nge |
| Listen | L1âL6, benutzerdefiniert | {1,2,3}âLLISTE | Es können bis zu 999 Elemente gespeichert werden (Ausnahme TI-83: bis zu 99 Elemente) |
| Matrizen | [A]â[J] | '[[1,2,3][4,5,6]]â[C] | Eine Matrix kann bis zu 99 Zeilen und 99 Spalten besitzen |
| Graphiken | Pic0âPic9 | StorePic 5 | Displayauflösung: Bilder können nicht gröĂer sein als 96 Ă 64 Pixel |
| Mathematische Funktionen | Y0âY9 | "6XÂČ+7X-2"âY8 | Keine Begrenzung bekannt |
| Graph-Datenbanken | GDB0âGDB9 | StoreGDB 0 | Keine Begrenzung bekannt |
| Skalierungen fĂŒr Graphen | Xmin, Xmax, Xscl, Xres, âX (analog fĂŒr die Y-Achse) | 5âXmin | Keine Begrenzung bekannt |
Repeat-Schleife
[Bearbeiten | Quelltext bearbeiten]Eine weitere Schleifenart lÀsst sich nur auf diesen Rechnern verwenden:
:Repeat Ausdruck :Befehle, bis Bedingung wahr ist :End |
:Repeat I<5 :I-1âI :End |
IS>; DS< und Menu
[Bearbeiten | Quelltext bearbeiten]Diese Anweisungen sind auf den neueren Rechnern ebenfalls nicht mehr verfĂŒgbar.
| Art der Verzweigung | Verwendung | Beispiel |
|---|---|---|
| Increase-Step |
:IS>(Variable, Wert) :Befehl, wenn Wert â„ Variable |
:IS>(A,3) :Disp A |
| Decrease-Step |
:DS<(Variable, Wert) :Befehl, wenn Wert †Variable |
:DS<(A,3) :Disp A |
:Menu("Bezeichnung", "Text 1", Label 1,
"Text 2", Label 2,âŠ) |
:Menu("OPTIONEN", "STARTEN",
A, "BEENDEN", B) |
Neuere Rechner (TI-89 bis Voyage 200)
[Bearbeiten | Quelltext bearbeiten]
Variablen
[Bearbeiten | Quelltext bearbeiten]Auf neueren Rechnern dĂŒrfen Variablen maximal acht Zeichen lang sein, es können auch Umlaute, griechische Buchstaben und diakritische Zeichen (im Gegensatz zu einigen anderen Programmiersprachen, etwa Pascal) verwendet werden. StorePic und StoreGDB wurden durch StoPic und StoGDB ersetzt.
MenĂŒs, Dialoge und Symbolleiste
[Bearbeiten | Quelltext bearbeiten]AuĂer durch die Eingabeaufforderungen Input und InputStr kann die Benutzerschnittstelle folgendermaĂen realisiert werden:
- mit Dialog-Blöcken
- mit Popup-MenĂŒs
- mithilfe der Symbolleiste (Toolbar oder Custom)
- mit der Funktion
getKey()
Dialog
[Bearbeiten | Quelltext bearbeiten]
Ein Beispiel fĂŒr einen Dialog:
:Dialog
:Title "Hallo"
:Text "xyz"
:Dropdown "Bitte auswÀhlen",{"Eins","Zwei","Drei"},var1
:Request "Ihr Name?",var2
:EndDlog
Dieses Beispiel erzeugt einen Dialog mit dem Titel "Hallo". Im eigentlichen Fenster steht der Text "xyz", darunter kann man zwischen "Eins", "Zwei" und "Drei" auswÀhlen, und ganz unten steht ein Eingabefeld, wo der Benutzer nach seinem Namen gefragt wird.
Rechts ist auch ein Screenshot abgebildet, in dem dieses Beispielprogramm gezeigt wird.
PopUp
[Bearbeiten | Quelltext bearbeiten]
Ein Beispiel fĂŒr ein PopUp-Fenster:
:PopUp {"1999","2001","2002","2005"},var3
Das Ergebnis, also die Auswahl, wird in der Variable var3 gespeichert. Bei zum Beispiel "2001" wÀre der Inhalt von var3 die Zahl 2.
Rechts ist auch der Screenshot zu diesem Programm, nur der Disp-Befehl ist hinzugefĂŒgt worden.
Toolbar
[Bearbeiten | Quelltext bearbeiten]
Ein Beispiel fĂŒr eine Toolbar-Leiste:
:Toolbar :Title "Quiz starten",start :Title "Optionen" :Item "Einstellungen",options :Item "Ăber dieses Quiz...",about :Title "Beenden",quit :EndTBar
Sollte man (hier in diesem Beispiel) F1 (Quiz starten) auswĂ€hlen, springt das Programm zum angegebenen Label "start". Möchte man unter einem Titel mehr auflisten (wie in F2), darf hinter dem Title-Befehl kein Label angegeben werden. Unter dem Title-Befehl mĂŒssen allerdings in solch einem Fall Items mit Labeln vorhanden sein.
Rechts ist auch ein Screenshot, der die Toolbar zeigt. Nur ein Output-Befehl ist wieder ergÀnzt worden.
TI-Nspire und TI-Nspire CAS
[Bearbeiten | Quelltext bearbeiten]In der ersten Version des Betriebssystems der Rechner TI-Nspire und TI-Nspire CAS konnten mit TI-Basic nur Funktionen, aber keine Programme erstellt werden. Inzwischen steht ein erweiterter Befehlsumfang zur VerfĂŒgung, der jedoch zahlreiche TI-Basic-Befehle, etwa zur DialogfĂŒhrung, nicht enthĂ€lt. Programme können in Bibliotheken abgelegt werden.
Hallo Welt
[Bearbeiten | Quelltext bearbeiten]:ClrHome © Löscht alle Zeichen auf dem Display :Disp "Hallo Welt" © Zeigt danach "Hallo Welt"
Oder:
:ClrHome © Löscht alle Zeichen auf dem Display :Output(1,1,"Hallo Welt") © Zeigt in der ersten Zeile in der ersten Spalte "Hallo Welt"
FĂŒr TI-Nspire CX CAS:
:Disp "Hallo Welt" © Zeigt im âHome-Fensterâ "Hallo Welt"
Die ©-Zeichen markieren Kommentare, die bei der ProgrammausfĂŒhrung ignoriert werden.
LeistungsfÀhigkeit
[Bearbeiten | Quelltext bearbeiten]Im Vergleich zu dem 68k-Assembler, der in die Rechner integriert ist, sind TI-Basic-Programme sehr langsam. Besonders Ausgabebefehle verlangsamen die AusfĂŒhrung, und auf Grund des geringen RAM-Speichers sind Rekursionen wie die Ackermannfunktion nur bedingt oder ĂŒberhaupt nicht realisierbar, weder mit TI-BASIC noch mit Assembler.