UNTIL (BASIC 3.5)

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

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


Das Schlüsselwort UNTIL (engl. für bis) kennzeichnet bei einer DO-LOOP-Konstruktion, dass die nachfolgende Bedingung zum Abbruch der Schleife führt, wenn sie logisch wahr (ungleich 0) ist.

Handelt es sich bei der Bedingung um einen Ausdruck, der eine leere 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 nichtleere Zeichenkette hingegen entspricht dem logischen "wahr" 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 UNTIL A>0.7

Gibt solange Zufallszahlen aus, bis diese größer als 0,7 ist.


BASIC V2.0 Nachbildung

Bei LOOP:

100 DO
110 REM SCHLEIFENKÖRPER
120 LOOP UNTIL BE

kann unter BASIC V2.0 wie folgt nachgebildet werden:

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

Bei DO:

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

kann unter BASIC V2.0 wie folgt nachgebildet werden:

100 IF BE 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.