(
String-Tabellen sind gleichbedeutend
eine zusätzliche Dimension in der DIM-Anweisung die Länge jeder String-Variablen
in der Tabelle an. Angenommen, die zehn besten Golfspieler eines Golfclubs wer-
den mit ihren Vornamen in DATA-Anweisungen
DATA "Bert",
DATA "Tom",
Nun benötigen Sie zehn verschiedene Variablennamen. Wären jedoch 100 oder
1000 Spieler vorhanden, so würde die Aufgabe recht mühsam. Eine Tabelle besteht
aus einer Gruppe von Variablen, mit denen derartige Probleme gelöst werden sol-
len. Jeder Name einer Tabellen-Variablen besteht aus zwei Teilen:
- einem nach den üblichen Regeln gebildeten Namen
- einen numerischer Teil, der als Index bezeichnet wird.
Schreiben Sie die Variablennamen als:
wohnung$(1),
Bevor Sie die Tabellen-Variablen benutzen können, müssen Sie dem System Anga-
ben über die Tabelle und ihre Dimensionen liefern:
DIM wohnung$(10,7)
Mit diesem Befehl werden elf (0 bis 10) Variablen zur Benutzung in dem Programm
reserviert. Jede String-Variable in der Tabelle kann maximal acht Zeichen umfassen.
Die DIM-Anweisungen
gramms stehen. Nachdem die Tabelle in einer DIM-Anweisung definiert wurde, kön-
nen sämtliche Elemente der Tabelle benutzt werden. Ein wichtiger Vorteil besteht
darin, daß Sie den numerischen Teil (den Index) als numerische Variable angeben
können. So können Sie:
FOR zah l = 1 TO 10 : READ wohnung$ (zah L>
schreiben. Dadurch werden den Golfern Wohnungen zugewiesen:
wohnung$(1)
EJ
Sie können auf die übliche Art und Weise Bezug auf die Variablen nehmen. Denken
Sie jedoch daran, den richtigen Index zu benutzen. Angenommen, Bert und Walter
(
wollen ihre Wohnungen tauschen. In der Computersprache
einer von ihnen, sagen wir Bert, einen Zwischenspeicher
damit Walter umziehen kann. Sie könnten folgende Befehle schreiben:
LETmomentan$=wohnung$(1):
LET wohnung$ (1) =wohnung$
LETwohnung$(3)=momentan$:REMarkTominwohnung$(3)
Mit dem folgenden Programm werden die zehn Golfer in einer Tabelle namens woh-
nung$ untergebracht. Die Namen der Bewohner werden mit ihren "Wohnungsnum-
mern" (Tabellenindizes) ausgedruckt, um zu beweisen, daß sie dort wohnen. Nun
tauschen die Bewohner der Wohnungen 1 und 3 ihre Wohnungen aus. Danach wird
die Liste der Bewohner erneut ausgedruckt, um anzugeben, daß der Austausch
stattgefunden hat.
100 REMark Wohnungen der GoLfspieLer
110 DIM wohnung$(10,7>
120 FOR zahL = 1 TO 10 : READ wohnung$(zahL>
130 liste
140 wohnung __wechseln
150 liste
160 REMark Ende des Hauptprogramms
170 OEFine PROCedure Liste __drucken
(
180
190 END DEFine
200 DEFine PROCedure wohnung __wechseLn
210
3/85
"Jochen",
"WaLter",
"Karl",
"Harald",
wohnung$(2),
wohnung$(3)usw.
sollten normalerweise alle zusammen am Anfang des Pro-
a ----------
wohnung$(3)
wohnung$(2)
I
I
Jochen
REMarkTomvorübergehendinmomentan$
REMark Hara ld in wohnung$ (1)
(3) :
__drucken
__drucken
FOR zahL = 1 TO 10 : PRINT zahL,
LET momentan$ = wohnung$(1)
mit numerischen Tabellen. Allerdings gibt
angegeben.
"Werner",
"Jan",
"Achim"
wohnung$(lO)
---------------
ausgedrückt, müßte
(als Wohnung) benutzen,
wohnung$(zahL>
STRING-
TABELLEN
"Dirk"
Achim
TABELLEN
75