Robot Karol/Beispiele für Schleifen
Eine Schleife ist eine endliche Wiederholung von Anweisungen bis zu einen bestimmten Ereignis. Dabei gibt es drei Darstellungsformen:
- gezählte Wiederholung
- Wiederholung mit Bedingungen
- Schleifen mit Eingangsbedingung (Kopfgesteuerte Schleife)
- Schleifen mit Ausgangsbedingung (fußgesteuerte Schleife)
Solange die Bedingung ausführbar ist, wird diese abgearbeitet. Ist sie nicht ausführbar wird zur nächsten Anweisung übergegangen.
Gezählte Wiederholung
Ist die Anzahl der Wiederholungen der Anweisungen im vornherein bekannt, nutzt man die gezählte Wiederholung. Sie wird auch Zählschleife genannt.
Beispiel
Problem: Karol soll neun Ziegel in einer Reihe hintereinander legen.
Erste Lösung durch sequentielles Anschreiben der Anweisungen:
Hinlegen Schritt Hinlegen Schritt Hinlegen Schritt Hinlegen Schritt Hinlegen Schritt Hinlegen Schritt Hinlegen Schritt Hinlegen Schritt
Bei größerer Zahl von Wiederholungen erweist sich das Ganze als ungünstig.
Bessere Lösung: Wiederholung mit fester Anzahl
Wiederholung mit fester Anzahl
Die Anweisungen im Wiederholungsteil werden nacheinander mehrfach ausgeführt (entsprechend der angegebenen Anzahl).
Sprache Karol:
wiederhole n mal Anweisungen *wiederhole
Die günstigere Lösung für unsere Aufgabe sieht dann wie folgt aus:
wiederhole 9 mal hinlegen schritt *wiederhole
Karol soll die Reihe Steine aufheben:
Aufgaben
1. Karol soll mit Ziegeln ein Quadrat auslegen.
wiederhole 4 mal
Hinlegen Schritt LinksDrehen
- wiederhole
Schleife mit Eingangsbedingung
Bei der kopfgesteuerten Schleife wird die Anweisung vor jedem Ablauf überprüft. Die untenstehende Abbildung zeigt den allgemeinen Aufbau:
Schleife mit Ausgangsbedingung
Bei der fußgesteuerten Schleife wird die Anweisung nach jedem Ablauf überprüft. Die untenstehende Abbildung zeigt den allgemeinen Aufbau: