Kurs starten

**** DATA UND READ ****

DATA und READ: feste Daten im Programm

DATA legt feste Werte mitten ins Programm, READ holt sie einen nach dem anderen heraus. So speichert man Listen, ohne sie einzeln zuzuweisen.

Schreibweise

FormBedeutung
DATA 3,7,12Legt drei Zahlen ab.
DATA "ANNA","BEN"Legt Text ab.
READ AHolt den nächsten Wert in eine Variable.
READ A,BHolt zwei Werte auf einmal.
RESTORESetzt den Lesezeiger zurück an den Anfang.

Ein Zeiger wandert durch alle DATA-Zeilen

BASIC sammelt beim Start alle DATA-Werte des Programms in einer einzigen langen Liste, in der Reihenfolge der Zeilennummern. Ein unsichtbarer Zeiger merkt sich, welcher Wert als Nächstes dran ist. Jedes READ holt einen Wert und schiebt den Zeiger eins weiter.

Deshalb ist es egal, wo die DATA-Zeilen stehen. Üblich ist am Ende des Listings, gut lesbar und leicht zu ändern.

Namen einlesen 10 FOR I=1 TO 3 20 READ N$ 30 PRINT N$ 40 NEXT 50 DATA "ANNA","BEN","CARO" ANNA BEN CARO

Mehrere Werte pro Datensatz

Häufig gehören mehrere Werte zusammen, etwa Name und Punktzahl. Dann liest man sie im selben Durchlauf hintereinander ein, und die DATA-Zeilen schreibt man paarweise auf.

Name und Punktzahl 10 FOR I=1 TO 3 20 READ N$ 30 READ P 40 PRINT N$;" HAT";P;"PUNKTE" 50 NEXT 60 DATA "ANNA",42 70 DATA "BEN",17 80 DATA "CARO",93

RESTORE: noch einmal von vorn

Sind alle Werte gelesen, ist die Liste leer. RESTORE setzt den Zeiger zurück an den Anfang, danach lassen sich dieselben Werte erneut einlesen.

Zweimal dieselben Daten 10 FOR I=1 TO 3 20 READ A 30 PRINT A; 40 NEXT 50 PRINT 60 RESTORE 70 READ A 80 PRINT "NOCHMAL DER ERSTE WERT:";A 90 DATA 11,22,33 11 22 33 NOCHMAL DER ERSTE WERT: 11

Typische Stolperfallen

Mehr READ als DATA

Ist die Liste erschöpft, meldet BASIC ?OUT OF DATA ERROR. Meist zählt die Schleife weiter, als Werte vorhanden sind.

Text und Zahl verwechselt

Ein Text in eine Zahlenvariable gelesen ergibt 0 oder einen Fehler. Achte darauf, dass die Reihenfolge der DATA-Werte zur Reihenfolge der READ-Variablen passt.

Kommas in Texten

Ein Komma trennt zwei DATA-Werte. Gehört es zum Text, muss der Text in Anführungszeichen stehen.

Passt dazu

Im Kurs lernst du DATA und READ in Lektion 18: DATA und READ. Die vollständige Referenz aller Befehle steht im Befehls-Lexikon.

HAEUFIGE FRAGEN

Fragen zu DATA und READ

Wo müssen DATA-Zeilen stehen?

Irgendwo im Programm. Gelesen wird immer in der Reihenfolge der Zeilennummern, unabhängig davon, wo die READ-Befehle stehen. Üblich ist das Ende des Listings.

Kann ich DATA-Werte im Programm ändern?

Nein, sie sind Teil des Listings. Wer Werte ändern will, liest sie in ein Feld ein und arbeitet dort damit.

Gleich selbst ausprobieren

Tippe die Beispiele in den freien Editor und sieh dir an, was passiert.

Freien Editor oeffnen →