VBA: Do While Loop & Do Until Loop

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

until = bis. Loop so lange bis ein bestimmtes Ereignis eintritt

Do 
i=i+1
Loop Until i =10

Durchlaufe so lang bis i = 10 ist


while = während. Loop so lange wie ein bestimmtes Ereignis Wahr ist.

Do 
i=i+1
Loop While i < 10

Durchlaufe so lang wie i kleiner 10 ist.

"while" heißt übersetzt "solange" und "until" "bis". Genau darin unterscheiden sich die beiden Schleifenbedingungen.

Es ist inhaltlich ein Unterschied, ob du sagst, solange du Freunde hast, ist alles In Ordnung oder bis du Freunde hast, ist alles in Ordnung.

Woher ich das weiß:Berufserfahrung – Programmierer
Iamiam  25.06.2014, 14:57

ein sinnfälliges Beispiel, DH!
trotzdem ist mir mathematisch noch kein schlagendes Beispiel eingefallen: im Beispiel von Chris kommt auch in beiden Fällen i=10 raus.
ich glaube, man muss das mit der Syntax While Bedingg(also am Anfan) Wend verbinden, um das einleuchtend zu machen, kann das aber im Moment nicht weiterverfolgen, muss mich erst wieder gedanklich drauf einstellen, vllt heute spät abend.

0
Suboptimierer  25.06.2014, 15:03
@Iamiam

Es ist sogar nicht nur ein Unterschied, es ist ein Gegensatz

Beispiel:

Solange i < 10 = Bis i >= 10

augsburgchris hat das gut veranschaulicht, wobei in seinem Fall until i=10 auf das Gleiche hinaus liefe wie until i>=10


Die Unterscheidung zwischen until und while ist eigentlich als Sprachkonstrukt unnötig. Man wollte wohl verschiedenen Stilen gerecht werden. Andere Programmiersprachen machen sich nicht die Mühe, das zu unterscheiden.

0