2.2.1.2. Der allgemeine Aufbau eines Programmes

Nächste Seite

In jeder Programmiersprache müssen Programme einen gewissen formalen Aufbau einhalten. Ohne Einhaltung bestimmter vorgegebener Regeln, wird das Programm nicht als Solches erkannt und eine Compilierung, bzw. Übersetzung durch den Compiler ist nicht möglich oder bricht schnell mit einer Fehlermeldung ab. Das Programm wird also nie lauffähig werden. Da TI-85 BASIC eine einfache, leicht verständliche und nutzbare Sprache ist, gibt es auch nur wenige Dinge beim Programmaufbau zu beachten:

Ein Programm in TI-85 BASIC besteht aus mehreren Befehlszeilen, die jeweils genau eine Anweisung enthalten. Jede Anweisung kann länger als eine Bildschirmzeile sein. Jede Befehlszeile, die auch aus nur einem einzelnen Wort bestehen kann, muss mit einem Doppelpunkt (:) beginnen. Dieser Doppelpunkt ist für den Interpreter der Programme wichtig, da er (befehls-) zeilenweise vorgeht und so weiss, wo eine neue Befehlszeile beginnt. Wenn der Doppelpunkt innerhalb des Programmes an einer Stelle fehlt, wird es während der Ausführung zwangsläufig zu einer Fehlermeldung kommen (Error 07 Syntax). Da der Programmeditor des TI-85 jedoch selbständig zu Beginn jeder neuen Zeile den Doppelpunkt setzt, taucht dieser Fehler relativ selten auf.

Außer der Verwendung dieses Trennzeichens für Befehlszeilen gibt es in TI-85 BASIC keine weiteren Regeln. Jeder Nutzer sollte jedoch für sich nach Bedarf weitere Regeln festlegen. Ich selbst habe es mir angewöhnt zu Beginn jedes Programmes allen verwenderen Variablen den Wert 0 zuzuweisen. Auf diese Art behält man einen besseren Überblick und noch bestehende Werte aus früheren Programmausführungen werden alle mit 0 überschrieben.
Ein weiterer Trick im Umgang mit Variablen besteht darin, in der letzten Programmzeile jede verwendeten Variablen mit der Zeichenkette ""  zu überschreiben. Sie erhält damit den Datentyp String und nimmt einige Byte weniger am Speicherplatz ein.
Allgemein ist es empfehlenswert das Programmende mit einer zusätzlichen
Stop Anweisung zu markieren, was ebenfalls der besseren Übersichtlichkeit der Programme dient.
Des Weiteren sollte zu Beginn der Programmausführung der Name und eine (sehr) kurze Beschreibung des Programmes angezeigt werden. Der Programmname im
[PRGM] [NAMES] Menü ist sicherlich nicht jedem Nutzer verständlich und das Programm sollte bei seiner Ausführung selbsterklärend sein. Weiterhin ist es hilfreich, in jeder Menüverzweigung auch ein "Exit" anzubieten, um das Programm "ordentlich" beenden zu können.
Es üblich auf der ersten Seite des Programmes den Namen des Programmierers zu erwähnen, der bei Fragen, Problemen oder Lob kontaktiert werden kann.
Die Einhaltung der zuletzt genannten Regeln ist natürlich freiwillig und auch nicht immer notwendig. In Anbetracht des ständigen Speichermangels bei dem Taschenrechner eines Programmierers, sollten die Programmecodes so kurz wie nur möglich gehalten werden. Wenn Programme jedoch auch an andere Nutzer weitergegeben werden, sollten diese eine gewisse "Anwenderfreundlichkeit" aufweisen, obwohl es sich bei TI-85 Programmen nicht um kommerzielle Software handelt und theorethisch jeder TI-85 Besitzer seine eigenen Programme programmieren könnte.
Beispiel für den verbesserten Programmaufbau eines TI-85 Programmes nach meinen Erfahrungen :

:0®A:0®B:0®C
:Disp "[Programmname]"
:Disp "by [Name des Programmierers]"
:Disp "[kurze Programmbeschreibung]"
:[Programmanweisungen]
:[Programmanweisungen]
:""
®A:""®B:""®C
:Stop

2.2.1.3. Variablen

Eine Variable ist ein Synonym für eine Speicherstelle in einem Computer. Sie bietet Raum, der im Hauptspeicher des Computers angelegt wird, um Daten (z.B. eine Zahl) zu speichern und wieder auszulesen. Erscheint beim Ablauf des Programms eine Variable, bzw. deren Bezeichner, so verwendet das Programm den entsprechenden Inhalt des Speicherplatzes.
Stark vereinfacht kann man sich eine Variable als einen mit Namen versehenen Behälter mit Daten vorstellen. Viele Anweisungen im Programm füllen diesen Behälter entweder auf, leeren ihn oder wechseln seinen Inhalt. Solche Anweisungen, die sich auf die Änderung des Wertes einer Variablen (also den Inhalt des Behälters) beziehen, nennt man Zuweisungen.
Der Name einer Variablen kennzeichnet die Speicherstelle, an der ihr Inhalt, also ihr Wert, im Hauptspeicher zu finden ist.

Datentypen

Der Wert einer Variablen kann sehr verschieden sein. Dabei kann es sich zum Beispiel um eine einstellige Zahl, um einen ganzen Satz, um eine reelle Zahl mit 6 Nachkommastellen oder um ein einzelnes Zeichen handeln. Auf das Modell vom Behälter angewand, kann man sich vorstellen, dass ein Behälter für Trinkwasser anders aussieht, als einer, in dem beispielsweise Abfall gelagert wird. Aus diesem Grund ist ein Datentyp notwendig. Der (Daten-) Typ einer Variablen gibt die Art ihres Inhaltes an. In TI-85 BASIC gibt es folgende Datentypen, auf die von Programmen aus zugegriffen werden kann:

Datentyp Variable für Beispiel Bemerkungen
REAL reelle Zahlen 3.872364  
CPLX komplexe Zahlen (0,1) Nicht mehr im Lehrplan Mathematik enthalten
LIST Listen {1,3,5}  
VECTR Vektoren [1, 2, 3]  
MATRX Matrizen [[11, 2.5,  3.3]
[-2, -236,  10]
[1, 2.452, 13]]
 
STRNG Zeichenketten (Strings) "Polynomdivision"  
EQU Gleichungen (3*x2-x) / (x-225)  
CONS benutzerdefinierte Konstanten 1.359 *103 Können von Programmen nur gelesen werden, Konstanten können nur im CONS Editor angelegt werden
GDB Datenbanken für Graphen   enthält Funktionen, sowie Graphen
PIC Abbildungen oder Bilder :-)  
STAT Statistiken   Nur für fortgeschritten Nutzer (Studium)
RANGE RANGE Einstellungen des Graphmenüs -10  

Variablen erhalten ihren Datentyp in TI-85 BASIC durch die Zuweisung eines Wertes. Der Datentyp kann sich innerhalb eines Programms beliebig oft ändern. Der vorherige Wert wird überschrieben und der Datentyp dem neuen Wert angepasst. Der benötigte Speicherplatz einer Variablen hängt von ihrem Inhalt und auch von ihrem Datentyp ab. Ein leerer String ist mit 7 Byte die kleinste Variable. Allein jeder weitere Buchstabe im Variablenname nimmt ein Byte Speicherplatz in Anspruch. Aus diesem Grund sollten die Variablennamen so kurz wie möglich gewählt werden. Als praktisch erweist es sich, die Variablen eines Programmes mit dem Anfangsbuchstaben des Programmnamens und jeweils einem weiteren Buchstaben zu bezeichnen. Diese Variante trägt zwar zu noch mehr Unübersichtlichkeit im Programmcode bei, identifiziert aber die Variablen eindeutig im [MEM] Menü und vereinfacht somit das komplette Löschen eines Programms samt aller zugehöriger Variablen.
Soweit jedoch ausreichend Speicherplatz auf dem Taschenrechner vorhanden ist, sind sicherlich aussagekräftige Variablennamen wie BREITE, LAENGE, HOEHE usw. von Vorteil.

Eine Zuweisung erfolgt bei den einfachen Datentypen wie REAL oder STRGN durch den Zuweisungspfeil ®.
Links des Zuweisungszeichens befindet sich ein Wert, ein Ausdruck oder eine andere Variable und rechts der Variablenname.

variablen.gif (1180 Byte)

Zuweisungen sind zum Beispiel:

:3®A Eine Variable A wird angelegt, soweit sie noch nicht vorhanden ist. Dann wird ihr der Wert 3 zugewiesen.
:4+5®B Das Ergebnis des Ausdrucks "4+5" wird berechnet. Der errechnete Wert wird der Variable B zugewiesen.
:A+B®C Die Werte der Variablen A und B werden aus dem Hauptspeicher abgerufen und addiert. Das Ergebnis wird der Variable C zugewiesen.
:"TI-85"®TYP Die Zeichenkette "TI-85" wird der Variablen TYP zugewiesen. Damit wird eine STRGN Variable erzeugt.
:"y=2*x+3"®FUNKTION Die Funktion "y=2*x+3" wird dem STRGN FUNKTION zugewiesen. FUNKTION ist eine reine Zeichenkette und kann in der Form nicht für Berechnungen genutzt werden.
:FU=2*A+3 Eine Variable vom Datentyp EQU wird erzeugt und die Gleichung 2*A+3 wird darin gespeichert. Mit dieser Gleichung können weitere Berechnungen durchgeführt werden.
:{1,3,5}®L1 Eine Liste wird erzeugt und in der Variable L1 vom Typ LIST gespeichert.

Hinweis: Auf Variablen kann von allen Programmen aus zugegriffen werden. Verändert ein Unterprogramm beispielsweise den Wert einer Variablen, so steht danach der neue Wert im Speicher und allen anderen Programmen steht nur noch dieser Wert zur Verfügung.

REAL Variablen werden zur Speicherung reeller Zahlen genutzt. Die meisten in TI-85 Programmen verwendeten Variablen werden sicherlich von diesem Datentyp sein. Mit diesen Variablen kann gerechnet werden, als ob es Zahlen wären. Bei der Berechnung von Ausdrücken und Gleichungen wird ihr Wert für den Variablennamen eingesetzt.
STRGN Variablen dienen zur Speicherung von einzelnen Zeichen, Wörtern oder ganzen Sätzen. Sie werden häufig verwendet um vom Nutzer definierte Funktionen einzulesen und als String zu speichern um sie danach in eine Gleichungsvariable des EQU Typ umzuwandeln. Natürlich können in STRGN Variablen auch z.B. Namen oder andere Daten der Nutzer gespeichert werden. Sämtliche Assemblerprogramme die auf dem TI-85 verwendet werden können werden übrigens auch als Strings gespeichert.
EQU Variablen dienen der Speicherung von Gleichungen oder Funktionen. Die im Graph Modus eingegebenen Funktionen werden während ihrer Verwendung und solange sie noch aktiv sind beispielsweise unter den Variablennamen y1, y2 usw. gespeichert und können auch durch Programme verändert werden.
Eine während einer Programmausführung vom Nutzer eingegebene Gleichung muss meist erst mit Hilfe der Anweisung St>Eq von einer Zeichenkette in eine Gleichungsvariable konvertiert werden, bevor sie weiteren Funktionen und Anweisungen (z.B. evalF, der1...) zur Verfügung gestellt werden kann.
Die Wertzuweisung von Gleichungen erfolgt mit einem = Zeichen, anstatt des Zuweisungspfeils. Gleichungsvariablen stehen außer in Programmen auch dem Solver zur Verfügung.
LIST Variablen werden zur Speicherung von Listen genutzt. Dies sind eindimensionale Zahlenfelder, mit denen wie mit anderen Zahlen und Variablen gerechnet werden kann. In ihnen werden mehrere Zahlen unter einem gemeinsamen Bezeichner (Namen) zusammengefasst.