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

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 (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

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 (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

Alle oben genannten Rechner

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

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
 : 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

Variablen

Bei diesen Rechnern können folgende Variablen verwendet werden:

Variablentyp Variablennamen Beispiel einer Zuweisung Begrenzungen
Reelle ZahlenA–Z, θ10→XBis zu 14 Stellen werden gespeichert, aber nur zehn Stellen ausgegeben
Komplexe ZahlenA–Z, θ5+7i→YBis zu 14 Stellen werden gespeichert, aber nur zehn Stellen ausgegeben
ZeichenkettenStr0–Str9"TEXT"→Str2Die Menge an freiem RAM ist die einzige Begrenzung der Länge
ListenL1–L6, benutzerdefiniert{1,2,3}→LLISTEEs 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
GraphikenPic0–Pic9StorePic 5Displayauflösung: Bilder können nicht größer sein als 96 × 64 Pixel
Mathematische FunktionenY0–Y9"6X²+7X-2"→Y8Keine Begrenzung bekannt
Graph-DatenbankenGDB0–GDB9StoreGDB 0Keine Begrenzung bekannt
Skalierungen für GraphenXmin, Xmax, Xscl, Xres, ∆X (analog für die Y-Achse)5→XminKeine Begrenzung bekannt

Repeat-Schleife

Eine weitere Schleifenart lässt sich nur auf diesen Rechnern verwenden:

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 WertVariable
:IS>(A,3)
:Disp A
Decrease-Step:DS<(Variable, Wert)
:Befehl, wenn WertVariable
: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)

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
  • mit Popup-Menüs
  • mithilfe der Symbolleiste (Toolbar oder Custom)
  • mit der Funktion getKey()

Dialog

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.

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

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

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

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"

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.

Wikibooks: TI-Basic – Lern- und Lehrmaterialien
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.