Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - repeat until und while do Schleife
Anna95 - Di 17.01.12 16:09
Titel: repeat until und while do Schleife
Hallo zusammen,
ich muss zu morgen eine Aufgabe für Info lösen und komme überhaupt nicht weiter und finde nichts im Internet:
Zeigen sie, dass man jede Wiederhol-Schleife(repeat until) durch eine äquivalente Solange-Schleife(while do) ersetzen kann. Schreiben sie einen Algorithmus(kein Programm). Überlegen sie, ob es umgekehrt auch geht. Treffen sie eine Aussage!
Könnt ihr mir vielleicht helfen?wäre lieb.
Moderiert von
Christian S.: Topic aus Neue Einträge / Hinweise / etc. verschoben am Di 17.01.2012 um 17:36
Nersgatt - Di 17.01.12 16:18
Hallo und willkommen. :welcome:
Hast Du Dir schon mal überlegt, in was sich die beiden Schleifenformen unterscheiden? Ich denke, da solltest Du anfangen (man spricht von kopfgesteuerten Schleifen und fußgesteuerten Schleifen).
Nun kannst Du überlegen, ob und wie man die Schleifen untereinander austauschen kann.
Anna95 - Di 17.01.12 16:43
Natürlich weiß ich, wie man die beiden Schleifen unterscheidet. Bei der repeat until schleife wird die Schleife mind. einmal durchlaufen. Bei der while do schleife nicht unbedingt.
Aber das ist ja gerade der Unterschied. Deswegen verstehe ich nicht, wie man das ersetzen kann.
Nersgatt - Di 17.01.12 16:50
Zitat: |
Bei der repeat until schleife wird die Schleife mind. einmal durchlaufen. Bei der while do schleife nicht unbedingt. |
Naja, damit hast Du ja schon die Antwort (fast) gefunden, Du hast es nur noch nicht gemerkt. :wink:
Die Fußgesteuerte Schleife wird min. 1x durchlaufen, das hast Du richtig erkannt. Ob die Kopfgesteuerte Schleife min. 1x durchlaufen wird, hängt von den Ausgangsbedingungen vor dem ersten Schleifendurchlauf ab.
Im Prinzip muss man bei der Ersetzung also doch nur dafür sorgen, dass die Bedingung bei der Kopfgesteuerten Schleife min. 1x erfüllt wird.
Anna95 - Di 17.01.12 17:08
okay danke, das hab ich verstanden.und geht es auch umgekehrt?
und wüsstest du ein beispielalgorithmus?
tut mir leid, ich bin nicht so das genie bei dem thema/:
Yogu - Di 17.01.12 19:39
Hallo,
umgekehrt (die while-Schleife durch repeat-until ersetzen) geht nur im Zusammenhang mit einer if-Abfrage, je nach Umsetzung auch noch mit einem zusätzlichen Break. :idea:
Grüße,
Yogu
rushifell - Di 17.01.12 21:33
Hallo,
Anna95 hat folgendes geschrieben: |
Natürlich weiß ich, wie man die beiden Schleifen unterscheidet. Bei der repeat until schleife wird die Schleife mind. einmal durchlaufen. |
Nicht nur. Bei der While-Schleife muss die Bedingung erfüllt sein, damit die Schleife
weiterläuft. Bei der Repeat-Until-Schleife muss die Bedingung erfüllt sein, damit die Schleife
abgebrochen wird.
Im Prinzip lässt sich jede Repeat-Until Schleife durch eine While-Schleife und umgekehrt ersetzten. Nur ist das eben nicht immer sinnvoll.
Hier mal ein möglicher Ansatz:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| While not(Bedingung) do BEGIN END; If not(Bedingung) then Repeat Until Bedingung; |
Angaben ohne Gewähr ;-)
Gruß
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!