Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Prism Frage zu Schleife mit Anfangsbedingungen (https://www.delphipraxis.net/62999-frage-zu-schleife-mit-anfangsbedingungen.html)

lutzi_kalle 12. Feb 2006 15:46


Frage zu Schleife mit Anfangsbedingungen
 
Hi,
Ich wollt mal fragen ob das Richtig ist:
Wir sollten (meine Kumpels und ich) im Unterricht eine Schleife mit Anfangsbedingungen
suchen und ihre Besonderheiten herausfinden:
Wir haben die REPAT-Schleife und die FOR-DO Schleife sind die aber auch richtig?

Und dann bräuchten wir noch ihre Besonderheiten (weiss gar nicht was damit gemeint ist :wall: )

Danke

3_of_8 12. Feb 2006 15:48

Re: Frage zu Schleife mit Anfangsbedingungen
 
for ... do ist mir komplett unbekannt. Meinst du nicht eher while ... do?

Also die einzige Schleife mit Anfangsbedingung, die ich kenne ist:

Delphi-Quellcode:
while irgendwas do
begin
//Code
end;

mkinzler 12. Feb 2006 15:52

Re: Frage zu Schleife mit Anfangsbedingungen
 
Ich vermute unter "Anfangsbedingung" versteht euer Lehrer eine "entry-condition-loop" also iene while-Schleife, weil hier am Anfang der Schleife überprüft wird, ob sie durchlaufen werden soll. Sie wird auch abwweisende Schleife genannt, da es möglich ist ( wenn Bedingung nie gilt), daß sie nie durchlaufen wird.
Eine Repeat-Until-Schleife ist eine "exit-condition-loop" da ma Ende überprüft wird, ob sie beendet werden soll. man nennt sie auch nichtabweisende Schleife, da sie auf jedenfall einmal durchlaufen wird, auch wenn die bedingung von Anfang an wahr ist.
Eine For-Schleife ist ein Sonderfall, da hier die Anzahl der Durchläufe bekannt ist. Sie kann je nach implemtierung abweisend oder nichtabweisend sein.

Nikolas 12. Feb 2006 15:53

Re: Frage zu Schleife mit Anfangsbedingungen
 
Herzlich Willkommen im Forum :dp:

repeat ist keine Schleife mit Anfangsbedingung, würde ich mal sagen.

Die Syntax lautet ja
Delphi-Quellcode:
repeat
inc(i);
until i>8;
Das heisst aber, dass das inc(i) auf jeden Fall ausgeführt wird, unabhängig, was nachher die Abbruchbedingung für die Schleife ist.

Bei einer While Schleife wird zu Beginn jedes Durchlaufes geprüft, ob ein Ereigniss eingetreten ist, d.h. die Schleife
Delphi-Quellcode:
i:=8;
while i<7 do
inc(i);
wird nicht durchlaufen.

Die For-Schleife passt da eigentlich nicht ganz mit rein, weil hier von Anfang an fest steht, wie oft die Schleife durchlaufen wird und dies nicht von einer Bedingung abhängt.

Habt ihr schon die Delphi-Hilfe ordentlich durchgelesen? Einfach den fraglichen Begriff markieren und F1 drücken.

Christian Seehase 12. Feb 2006 15:56

Re: Frage zu Schleife mit Anfangsbedingungen
 
Moin Nikolas,

Zitat:

Zitat von Toxman
Die For-Schleife passt da eigentlich nicht ganz mit rein, weil hier von Anfang an fest steht, wie oft die Schleife durchlaufen wird und dies nicht von einer Bedingung abhängt.

Da Start- und Endwert der Schleife variabel sein können, hängt die Ausführung davon ab, dass die Werte eine Ausführung auch erlauben. Ausserdem liegt die Anzahl der Durchläufe einer For-Schleife nicht zwingend fest, sondern nur die maximale Anzahl, da man die Schleife ja auch abbrechen kann. ;-)

lutzi_kalle 12. Feb 2006 18:18

Re: Frage zu Schleife mit Anfangsbedingungen
 
Die FOR-DO Schleifen sind spezielle While-Do-Schleifen,


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:23 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