Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Unterschied While - Do-While (https://www.delphipraxis.net/121035-unterschied-while-do-while.html)

Blumi 21. Sep 2008 10:17


Unterschied While - Do-While
 
Hi zusammen

Könnt ihr mir mal kurz erklären was der Unterschied zwischen der While und der Do-While Schleife ist?
Code:
while (i < 12) {
   i++;
}
Code:
do {
   i++;
} while (i < 12);
Meines Erachtens machen beide Codes genau das gleiche. Das obere ist wahrscheinlich eher Fussgesteuert und das untere Kopfgestuert.
Aber ich begreife nicht wieso es beide Möglichkeiten gibt Oo.. Eine reicht doch oder gibt es typisches wo die einte eher gebraucht wird? :wiejetzt:

Hoffe ihr könnt mich ein wenig aufklären..

Lg
:-D

Nikolas 21. Sep 2008 10:21

Re: Unterschied While - Do-While
 
Der Unterschied liegt darin, dass bei do..while der Code in der SChleife mindestens einmal aufgerufen wird, unabhängig von der Bedingung.
Bei while kann es sein, dass der Code nie aufgerufen wird.

setz einfach i auf 12 und schau dir das Ergebniss beider Schleifen an.

Klaus01 21. Sep 2008 10:21

Re: Unterschied While - Do-While
 
Guten Morgen,

nein, die Codes machen nicht das gleiche.

Code:
do {
   i++;
} while (i < 12);
hier wird der Code im Rumpf der Schleife mindestens einmal ausgeführt.
Diese Art von Schleife nennt man auch Fussgesteuerte Schleifen.

Bei der anderen Schleife wird
im Schleifenkopf die Entscheidung getroffen ob der Schleifenrumpf ausgeführt werden soll.
Diese Schleifen nennt man auch Kopfgesteuerte Schleifen.

Grüße
Klaus

toms 21. Sep 2008 10:21

Re: Unterschied While - Do-While
 
Hallo

Bei der while-Schleife wird zuerst eine Bedinung überprüft und wenn die Bedinung erfüllt ist, wir in die Schleife gegangen.

Bei der do..While-Schleife wird der Code in der Schleife auf jeden Fall mindestens ein Mal ausgeführt.

mkinzler 21. Sep 2008 10:22

Re: Unterschied While - Do-While
 
Zitat:

Meines Erachtens machen beide Codes genau das gleiche. Das obere ist wahrscheinlich eher Fussgesteuert und das untere Kopfgestuert.
Gerade anders herum
Das 2. ist eine Repeat-Schleife

Blumi 21. Sep 2008 10:27

Re: Unterschied While - Do-While
 
Hi zusammen

Danke vielmals für eure schnellen Antworten.

Nach eurem Beispiel ist es mir logisch geworden, dass die while Schleife nicht unbedingt ausgeführt werden muss..

Mfg
:-D

Chemiker 21. Sep 2008 10:47

Re: Unterschied While - Do-While
 
Hallo Blumi,
unter Delphi gibt es für die beiden Schleifen unterschiedliche Schlüsselwörter: Repeat, while ;
Bei
Delphi-Quellcode:
While (<Ausdruck>)
{
  Block
}
Wie zuerst ein Eingangstest durchgeführt, ob die Schleife abgearbeitet wird.

Bei
Delphi-Quellcode:
do
{
  Block
}
While (<Ausdruck>)
Wir einen Ausgangstest durchgeführt, ob die Schleife verlassen wird.
Bei do/while gibt es min. einen Schleifendurchlauf, denn man muss ja erst zum Bedingungsausdruck kommen.
Diese Schleife sollte man dann einsetzen, wenn innerhalb der Schleife sich Werte ändern.

Bei der while-Schleife müssen die Variablen die die im Ausdruck stehen schon einen Wert haben.
Liefert die Eingangsbedingung= FALSE, so wird die Schleife nicht einmal durchgeführt.
Mit diesem Schleifentyp kann man falsche Variable-Werte abfangen, bevor sie in der Schleife abgearbeitet werden.

Habe etwas lange gebraucht. Das meiste wurde ja schon erläutert.

Bis bald Chemiker


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz