WHILE (BASIC 3.5)

Aus C64-Wiki
Wechseln zu: Navigation, Suche
WHILE (BASIC 3.5)
Format: DO|LOOP WHILE <Bedingung>
Parameter
<Bedingung>: numerischer BASIC-Ausdruck
Einordnung
Typ: Schlüsselwort
Kontext: Programmstruktur
Aufgabe: Kennzeichnung einer Schleifenbedingung
Abkürzung: wH
Verwandte Befehle
DO, EXIT, LOOP, UNTIL

Anmerkung: Dieser Artikel beschreibt das BASIC-Schlüsselwort WHILE ab Commodore BASIC V3.5 oder höher.


Das Schlüsselwort WHILE (engl. für solange) kennzeichnet bei einer DO-LOOP-Konstruktion, dass die Schleife, solange die nachfolgende Bedingung logisch wahr (ungleich 0) ist, ausgeführt wird.

Handelt es sich bei der Bedingung um einen Ausdruck, der eine nichtleere Zeichenkette ergibt (aber nicht direkt von einer Zeichenkettenvariablen stammt), dann kommt es beim dritten solchen Vorkommnis zum Abbruch mit der Fehlermeldung ?FORMULA TOO COMPLEX ERROR. Die leere Zeichenkette "" hingegen entspricht dem logischen "unwahr" und führt zum Verlassen der Schleife.
Eine fehlende Bedingung wird mit dem Fehler ?SYNTAX ERROR quittiert.

Beispiele[Bearbeiten]

10 DO
20 A=RND(0)
30 PRINT A
40 LOOP WHILE A<=0.7

Gibt Zufallszahlen aus, solange diese kleiner oder gleich 0,7 ist.


BASIC V2.0 Nachbildung

Bei LOOP:

100 DO
110 REM SCHLEIFENKÖRPER
120 LOOP WHILE BE

kann unter BASIC V2.0 wie folgt nachgebildet werden:

100 :
110 REM SCHLEIFENKÖRPER
120 IF BE GOTO 100

Bei DO:

100 DO WHILE BE
110 REM SCHLEIFENKÖRPER
120 LOOP
130 :

kann unter BASIC V2.0 wie folgt nachgebildet werden:

100 IF (BE)=0 GOTO 130
110 REM SCHLEIFENKÖRPER
120 GOTO 100
130 :

... allerdings mit der Einschränkung, dass sich der Schleifenbeginn stets nur an einem Zeilenanfang befinden kann.