Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
phtg:fdif:karatutorial:loops [2024-06-26 08:29] – [Verschachtelte Schleifen] hof | phtg:fdif:karatutorial:loops [2024-07-04 20:02] (aktuell) – [Wiederholungen und Schleifen] hof | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
## Wiederholungen und Schleifen | ## Wiederholungen und Schleifen | ||
- | Statt einen Befehl mehrere Male hintereinander hinzuschreiben, | + | Statt einen Befehl mehrere Male hintereinander hinzuschreiben, |
Dafür können wir Kara fragen, ob auf dem Platz vor ihr ein Pilz ist, mit `kara.mushroomFront()`. Da Kara solange weiterlaufen wollen, als **kein** Pilz vor ihr ist, müssen wir Karas Antwort gerade **umdrehen**, | Dafür können wir Kara fragen, ob auf dem Platz vor ihr ein Pilz ist, mit `kara.mushroomFront()`. Da Kara solange weiterlaufen wollen, als **kein** Pilz vor ihr ist, müssen wir Karas Antwort gerade **umdrehen**, | ||
Zeile 26: | Zeile 26: | ||
**Beachte: | **Beachte: | ||
* Die Bedingung von `while` muss in runden Klammern stehen. | * Die Bedingung von `while` muss in runden Klammern stehen. | ||
- | * Die zu wiederholenden Anweisungen werden in geschweiften Klammern eingeschlossen. | + | * Die zu wiederholenden Anweisungen werden in geschweiften Klammern |
+ | * Sobald die Bedingung falsch wird, wird das Programm nach der Schleife fortgesetzt. | ||
Zeile 104: | Zeile 105: | ||
++++ | ++++ | ||
### Verschachtelte Schleifen | ### Verschachtelte Schleifen | ||
- | Eine `while`-Schleife lässt sich auch innerhalb einer anderen Schleife verschachteln. Betrachte den folgenden Code! Wie wird sich Kara bewegen? | + | Eine `while`-Schleife lässt sich auch innerhalb einer anderen Schleife verschachteln. |
+ | #### Aufgabe 3A | ||
+ | |||
+ | <WRAP todo> | ||
+ | Löse diese Aufgabe zu zweit oder in der Gruppe, falls du gerade in der Klasse bist! | ||
+ | </ | ||
+ | |||
+ | Betrachte den folgenden Code! Wie wird sich Kara bewegen? | ||
< | < | ||
Zeile 128: | Zeile 136: | ||
++++Antwort| | ++++Antwort| | ||
- | Kara kann sich in _Taschen_ fangen, die sich nicht mit Links-Drehungen verlassen fangen. Wäre zum Beispiel der Baum unten rechts nicht vorhanden, würde sie nicht zum Pilz finden. | + | Kara kann sich in _Taschen_ fangen, die sich nicht mit Links-Drehungen verlassen fangen. Wäre zum Beispiel der Baum unten rechts nicht vorhanden, würde sie nicht zum Pilz finden: |
+ | |||
+ | < | ||
+ | while (!kara.mushroomFront()) { | ||
+ | while (kara.treeFront()) { | ||
+ | kara.turnLeft(); | ||
+ | } | ||
+ | kara.move(); | ||
+ | } | ||
+ | KaraWorld.create( | ||
+ | `TTTTTTTTT | ||
+ | | ||
+ | | ||
+ | | ||
+ | T TT T T | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
++++ | ++++ | ||