2.2.1.2. Der allgemeine Aufbau eines Programmes |
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 |
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.
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.
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.