TI-Basic André Wyrsch TI-Basic Dieser Artikel behandelt die Programmiersprache für TI-Taschenrechner. Die Programmiersprache für den TI 99/4A Heimcomputer findet sich unter TI BASIC (TI 99/4A). TI-Basic ist der inoffizielle 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 oder den Voyage 200 gibt es heute eine Vielzahl von Programmen. Programme und Funktionen 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 Im Vergleich zu vielen anderen Programmiersprachen ist die Zahl der möglichen Variablennamen stark limitiert. Es ist nur möglich Namen zu verwenden, die acht oder weniger Buchstaben haben 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) Programmierung 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) 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" TI-Basic 1 TI-Basic André Wyrsch :EndIf :Disp "Diese Anweisung wird in jedem Fall ausgeführt" If...then...else...EndIf-Anweisungen: :If Bedingung then : (mehrere Anweisungen) :else : (mehrere Anweisungen, die nur ausgeführt werden, wenn die Bedingung nicht erfüllt ist) :EndIf Schleifen Alle oben genannten Rechner TI-Basic beherrscht folgende Arten von Schleifen: die For-Schleife mit Zählvariable und die WhileSchleife, die ausgeführt wird, solange Bedingung wahr ist. Darüber hinaus lassen sich Schleifen mittels Labels realisieren. Schleifenart For Verwendung Beispiel :For Variable,Anfang,Ende[,Schrittweite] :Befehle :End :For X,0,10,2 :Disp X :End While :While Ausdruck :Befehle, solange Bedingung wahr ist :End :While X<5 :X+1→X :End Label :Lbl Labelname :Befehle :Goto Labelname :Lbl A :X+1→X :Goto A TI-Basic 2 TI-Basic André Wyrsch TI Voyage 200 [Bearbeiten] Bei dem TI Voyage 200 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 Loop Verwendung Beispiel :Loop : Block :EndLoop :0→I :Loop :I+1→I :Disp I :If I=10 :Exit :EndLoop TI-83 Plus; TI-83 Plus SE; TI-84 Plus TI-Basic auf dem TI-83 Plus Variablen Bei diesen Rechnern können folgende Variablen verwendet werden: Variablentyp Variablennamen Beispiel einer Zuweisung Reelle Zahlen A–Z, θ 10→X Komplexe Zahlen A–Z, θ 5+7i→Y Zeichenketten Str0–Str9 "TEXT"→Str2 Listen L1–L6, benutzerdefiniert {1,2,3}→LLISTE Matrizen [A]–[J] [[1,2,3][4,5,6]]→[C] Graphiken Pic0–Pic9 Mathematische Funktionen Graph-Datenbanken StorePic 5 Y0–Y9 "6X²+7X-2"→Y8 GDB0–GDB9 StoreGDB 0 Repeat-Schleife [Bearbeiten] Eine weitere Schleifenart lässt sich nur auf diesen Rechnern verwenden: TI-Basic 3 TI-Basic André Wyrsch Repeat :Repeat Ausdruck :Befehle, bis Bedingung wahr ist :End :Repeat I<5 :I-1→I :End IS>; DS< und Menu 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 :Menu("Bezeichnung", "Text 1", Label 1, "Text 2", Label 2,…) :Menu("OPTIONEN", "STARTEN", A, "BEENDEN", B) Neuere Rechner (TI-89 bis Voyage 200) TI-Basic auf dem Voyage 200 Variablen 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 Außer durch die Eingabeaufforderungen Input und InputStr kann die Benutzerschnittstelle folgendermaßen realisiert werden: mit Dialog-Blöcken TI-Basic 4 TI-Basic André Wyrsch mit Popup-Menüs mithilfe der Symbolleiste (Toolbar oder Custom) mit der Funktion getKey() Dialog Das Programm links in der Ausführung (TI Voyage 200) 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 in Screenshot abgebildet, in dem dieses Beispielprogramm gezeigt wird. PopUp Das Programm links in der Ausführung (TI Voyage 200) 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 Das Programm links in der Ausführung (TI Voyage 200) Ein Beispiel für eine Toolbar-Leiste: :Toolbar :Title "Quiz starten",start :Title "Optionen" TI-Basic 5 TI-Basic André Wyrsch : 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 In der ersten Version des Betriebssystems der Rechner TI-Nspire und TI-Nspire CAS konnten mit TIBasic nur Funktionen, aber keine Programme erstellt werden. Zwischenzeitlich steht der volle Befehlsumfang zur Verfügung. Programme können in Bibliotheken abgelegt werden. Hallo Welt :ClrIO Löscht alle Zeichen auf dem Display :Disp "HALLO WELT" Zeigt danach "Hallo Welt" Oder: :ClrIO Löscht alle Zeichen auf dem Display :Output 1,1,"HALLO WELT" Zeigt in der erstern Zeile in der ersten Spalte "Hallo Welt" an Leistungsfähigkeit 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. TI-Basic 6