while oder repeat?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Sterbendes Lüftlein

Betreff: while oder repeat?

BeitragSa, Dez 11, 2010 17:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt
 

mDave

BeitragSa, Dez 11, 2010 17:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Aus der Onlinehilfe:
Zitat:
Die Prüfung der Bedingung geschieht bei While Wend Schleife immer am Anfang. Sollte die Bedingung erfüllt werden, so werden alle Befehle in der Schleife ausgeführt.

Die Befehle Repeat und Until stellen eine andere Schleifenart zur Verfügung. Die Prüfung geschieht am Ende der Schleife. Die Repeat Until Schleife wird bei Nichterfüllung der Bedingung ausgeführt.

TimBo

BeitragSa, Dez 11, 2010 20:28
Antworten mit Zitat
Benutzer-Profile anzeigen
ich nehme immer Repeat Until , da die Abbruchbebdingung eh erst nach dem ersten Durchgang erfüllt werden kann. Außerdem bin ich gewohnt , dass die Abbruchbedingung unten ist, weil ich es eben immer so mache Rolling Eyes So ist sie auch einfacher zu finden Laughing
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Raiden93

BeitragSo, Dez 12, 2010 3:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich benutze auch Repeat da, es leichter zu durchblicken ist.

Hubsi

BeitragSo, Dez 12, 2010 9:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ähhm ja... Was an der einen zu der anderen Schleife schwerer zu verstehen ist verstehe ich jetzt wieder nicht, aber egal Very Happy Welche Schleife man benutzt kann dagegen auch nicht egal sein. Sei als Beispiel genannt:

Diese Schleife muß mindestens einmal ausgeführt werden:
BlitzBasic: [AUSKLAPPEN]
tolle_sache=0

Repeat
tolle_sache=GanzTolleSache()
Until tolle_sache>10


Diese Schleife darf unter Umständen erst gar nicht ausgeführt werden:
BlitzBasic: [AUSKLAPPEN]
While tolle_sache<=10
tolle_sache=GanzTolleSache()
Wend
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Eingeproggt

BeitragSo, Dez 12, 2010 13:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Und als Ergänzung zu Hubsi ein Beispiel aus dem "Alltag": Angenommen, Man will einen Ordner auslesen.
Das geht mit beiden Schleifen, eh klar, aber man beachte die Details:

While - Wend

BlitzBasic: [AUSKLAPPEN]
Local dir=ReadDir("...")
Local file$
If dir<>0 Then
file$=NextFile(dir)
While file$<>""
;Mach was, zB:
Print file$
file$=NextFile(dir)
Wend
CloseDir dir
EndIf


Repeat - Until

BlitzBasic: [AUSKLAPPEN]
Local dir=ReadDir("...")
Local file$
If dir<>0 Then
Repeat
file$=NextFile(dir)
;Mach was, zB:
Print file$
Until file$=""
CloseDir dir
EndIf


Repeat - Forever

BlitzBasic: [AUSKLAPPEN]
Local dir=ReadDir("...")
Local file$
If dir<>0 Then
Repeat
file$=NextFile(dir)
If file$="" Then Exit
;Mach was, zB:
Print file$
Forever
CloseDir dir
EndIf


3 Codes, die genau dasselbe tun. Bei While muss man zuvor schon etwas machen, um zu wissen ob man überhaupt in die Schleife reinkommt (hier: einmal file$=NextFile(dir) ausführen). Bei Repeat stürzt man sich ins Vergnügen und schaut mal was man sieht Smile Da wäre dann halt wieder zu beachten ob man die Abbruchbedingung nicht doch schon vor "until" abfragen will (und mit Exit rausgeht). Weil sonst event. was Schlimmes passiert.
Eigentlich ist die Wahl Geschmackssache - ich wollte nur mal ein "anfassbares" Beispiel bringen.

mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group