Hallo!
Mich würde mal interessieren, welchen Vorteil die For-Schleife gegenüber den beiden (sind doch 2, oder? Foreach zählt für mich nicht dazu) Alternativen hat, oder ob es außer der Schreibweise überhaupt Unterschiede gibt.
Ich hab mir nämlich früher angewöhnt, eine Repeat- oder eine While-Schleife zu nehmen, und in dieser Schleife eben eine Zählvariable hochzuzählen.
Ist die For-Schleife im Vergleich dazu besser, oder ist das nur übersichtlicher.
Vielen Dank,
Simon
Schleifenvergleich
- Falko
- Admin
- Beiträge: 3535
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit) - Kontaktdaten:
Hier werden alle Schleifenmöglichkeiten gut erklärt.
http://www.computerbase.de/lexikon/Schl ... ammierung)
MfG Falko
http://www.computerbase.de/lexikon/Schl ... ammierung)
MfG Falko
Also folgendes:
1.)Repeat ist eine sogenannte Fussgesteuerte Schleife, das heißt, es wird jeweils am Ende der Schleife die Bedingung überprüft. Somit wird sie mindestens 1 mal durchlaufen, bevor der Erste Test stattfindet.
2.)Die WhileSchleife ist eine Sogenannte Kopfgesteuerte Schleife, genau wie die Forschleife.
Eine Forschleife ist eigentlich ein
Somit gibt es keinen Unterschied zwischen den beiden, ausser der Übersichtlichkeit. Und, man kann bei der WhileVariante variable steps nehmen, du kannst zum beispiel schreiben:
aber nicht :
http://www.robsite.de/php/pureboard-arc ... t=schleife
1.)Repeat ist eine sogenannte Fussgesteuerte Schleife, das heißt, es wird jeweils am Ende der Schleife die Bedingung überprüft. Somit wird sie mindestens 1 mal durchlaufen, bevor der Erste Test stattfindet.
2.)Die WhileSchleife ist eine Sogenannte Kopfgesteuerte Schleife, genau wie die Forschleife.
Eine Forschleife ist eigentlich ein
Code: Alles auswählen
a=1
ende=10
steps=1
While a<=ende
debug a
a=a+steps
Wend
Code: Alles auswählen
a=1
ende=10
steps=1
While a<=ende
debug a
if a=5
steps=2
endif
a=a+steps
Wend
Code: Alles auswählen
steps=1
For a=1 to 10 step steps
debug a
if a=5
steps=2
endif
next
http://www.robsite.de/php/pureboard-arc ... t=schleife
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden 
Dankeschön,
interessiert hat mich vor allem obs Geschwindigkeitsunterschiede gibt.
War aber auch interessant dieses Verhalten bei den For-Schleifen zu erfahren, da hätte ich wohl gestutzt, wenn ich das ausprobiert hätte.
Was ich mich noch frage ist, ob es eine messbare Veränderung der Prozessorauslastung gibt, wenn ich verschiedene Schleifen benutze, oder wenn ich eine Schleife mal mit break abbreche.
EDIT: Mir gehts hier nicht unbedingt um die Praxis-Frage, weil der Unterschied, um in der Praxis irgendwas zu bedeuten, wohl viel zu gering ist, sondern nur um die theoretische Frage des Unterschieds zwischen den Schleifen.
Und auch nicht um den Unterschied beim Abarbeiten (kopf- oder fußgesteuert u.s.w.)
interessiert hat mich vor allem obs Geschwindigkeitsunterschiede gibt.
War aber auch interessant dieses Verhalten bei den For-Schleifen zu erfahren, da hätte ich wohl gestutzt, wenn ich das ausprobiert hätte.
Was ich mich noch frage ist, ob es eine messbare Veränderung der Prozessorauslastung gibt, wenn ich verschiedene Schleifen benutze, oder wenn ich eine Schleife mal mit break abbreche.
EDIT: Mir gehts hier nicht unbedingt um die Praxis-Frage, weil der Unterschied, um in der Praxis irgendwas zu bedeuten, wohl viel zu gering ist, sondern nur um die theoretische Frage des Unterschieds zwischen den Schleifen.
Und auch nicht um den Unterschied beim Abarbeiten (kopf- oder fußgesteuert u.s.w.)
