![]() |
fragen zu den schleifen
guten tag,
ich hab mal ne frage zu den schleifen von delphi. man unterscheidet ja in zählschleife (for ..to..do), schleife mit anfangbedingung (while..do) und in schleife mit endbedingung (repeat..until). meine frage ist jetzt was sind die jeweiligen vor und nachteile dieser schleifen und was sind typische anwendung für die jeweilige schliefe??? thx mfg |
Re: fragen zu den schleifen
Eine For Schleife ist auch eine Entry-Condition-Loop. Die Besonderheit ist das zu Beginn schon bekannt ist, wie oft sie durchlaufen wird.
Entry-Condition-Loop: Abweisend, d.h. wird u.U. nie durchlaufen, Bedingung muss wahr sein, das Körper ausgeführt wird. Exit-Condition-Loop: Nichtabweisend, d.h. wird auf jedenfall einmal ausgeführt. Bedingung muss wahr sein, das abgebrochen wird |
Re: fragen zu den schleifen
und was wäre jetzt ein typisches beispiel?? also für for - schleifen ist mir dat jetzt klar aber für while und repeat noch nicht ganz weil sie am grunde ähnlich sind??
mfg |
Re: fragen zu den schleifen
While ist eine Entry-Condition; eine Repeat eine Exit-Condition-Loop
|
Re: fragen zu den schleifen
... oder man könnte auch sagen,
while ist eine kopfgesteuerte Schleife, weil hier am Anfang der Schleife entschieden wird, durchlaufe ich die Schleife oder nicht. repeat until ist eine fussgesteuerte Schleife, weil hier am Schleifenende entschieden wird, durchlaufe ich die Schleife ein weiteres Mal oder nicht. Bei fussgesteuerten Schleifen wird der Schleifenkörper mindestens einmal durchlaufen. Grüße Klaus |
Re: fragen zu den schleifen
Zitat:
zur kopfgesteuerten ist noch zu sagen, dass es nicht gewährleistet ist, dass diese durchlaufen wird. <HTH> |
Re: fragen zu den schleifen
Ohne den Vorrednern widersprechen zu wollen/können:
Die FOR-Schleifen wissen vorher, wann sie aufhören sollen. Die WHILE-Schleifen erfahren ihre Abbruch-Bedingung oft erst in der Schleife selbst. |
Re: fragen zu den schleifen
Trotzdem ist die For-Schleife meistens als While-Schleife implementiert
|
Re: fragen zu den schleifen
Zitat:
|
Re: fragen zu den schleifen
Zitat:
|
Re: fragen zu den schleifen
Leute Leute, BackToTopic ;). Der Neue möchte gerne Beispiele zu den Schleifen:
repeat/until: Gehen wir von einem Quiz mit meheren Antwortversuchen aus: Jede Frage wird mindestens einmal gestellt, kann aber auch öfters gestellt werden. also lohnt sich dort repeat until
Delphi-Quellcode:
while: Wir haben eine Datei mit einer unbekannten Anzahl von Zeilen. Nun lesen wir solange aus der Datei aus bis alles gelesen ist. Es kann aber auch sein, dass die Datei komplett leer ist, dann darf das gar nicht ausgeführt werden:
repeat
Textausgabe: "Welches Delphiforum ist das Beste?" warte auf Benutzereingabe until Benutzereingabe = 'Delphi Praxis';
Delphi-Quellcode:
while not Eof(File) do // Solange das ende der Datei nicht erreicht ist
begin Readln(File, string); // Lese aus der Datei ... // und dann mach was damit end; |
Re: fragen zu den schleifen
Zitat:
|
Re: fragen zu den schleifen
Im Hinblick auf die Geschwindigkeit sollte man vielleicht noch
erwähnen, daß die FOR-Schleife die mit "Abstand" langsamste aller Schleifen ist. Eine WHILE- oder REPEAT-Schleife mit Zähler-Variable und entsprechender Inkrementierung/Dekrementierung (Hoch-/Runterzählen) ist schneller. Der Unterschied ist aber so minimal, daß man ihn in normalen Programmen niemals spüren würde und daher nur dann mit WHILE eine FOR-Schleife "baut" wenn es gilt das allerletzte "Quäntchen" Zeit rauszuholen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz