Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
gf_informatik:karatutorial:loops [2026-08-24 13:33] – [Iteration mit Schleifen] hofgf_informatik:karatutorial:loops [2026-08-29 07:59] (aktuell) hof
Zeile 1: Zeile 1:
 ## Iteration mit Schleifen ## Iteration mit Schleifen
 +
 Statt einen Befehl mehrere Male hintereinander hinzuschreiben, können wir eine Anweisung oder eine ganze Sequenz auch mit einer _Schleife_ wiederholen. Die untenstehende Schleife lässt Kara _solange_ (Englisch: _while_) vorwärts laufen, als sie **nicht** vor einem Pilz steht. Statt einen Befehl mehrere Male hintereinander hinzuschreiben, können wir eine Anweisung oder eine ganze Sequenz auch mit einer _Schleife_ wiederholen. Die untenstehende Schleife lässt Kara _solange_ (Englisch: _while_) vorwärts laufen, als sie **nicht** vor einem Pilz steht.
  
Zeile 22: Zeile 23:
   * Nach der Bedingung von `while` muss ein Doppelpunkt `:` stehen.   * Nach der Bedingung von `while` muss ein Doppelpunkt `:` stehen.
   * Die zu wiederholenden Anweisungen werden **gleichmässig eingerückt**   * Die zu wiederholenden Anweisungen werden **gleichmässig eingerückt**
-    * Drücke <kbd>Tab</kbd>, um eine Zeile (oder mehrere) einzurücken, <key>S+Tab</key>, um sie auszurücken. +    * Drücke <kbd>Tab</kbd>, um eine Zeile (oder mehrere) einzurücken, <key>+Tab</key>, um sie auszurücken. 
-    * Die Tabulator-Taste heisst je nach Tastatur <key>⇥</key> oder <key>↹</key>, sie ist oberhalb der Feststelltaste.+    * Die [[wpde>Tabulatortaste]] heisst je nach Tastatur <key>⇥</key> oder <key>↹</key>, sie ist links der Taste <key>Q</key>
 +    * <key>⇧</key> bezeichnet die [[wpde>Umschalttaste]], teilweise auch mit <key>S</key> bezeichnet.
   * Sobald die Bedingung falsch wird, wird das Programm nach dem eingerückten Block fortgesetzt.   * Sobald die Bedingung falsch wird, wird das Programm nach dem eingerückten Block fortgesetzt.
  
 Der Fachbegriff für eine Schleife ist **[[wpde>Iteration]]** (von lateinisch _iterare_ 'wiederholen'). Der Fachbegriff für eine Schleife ist **[[wpde>Iteration]]** (von lateinisch _iterare_ 'wiederholen').
  
-### Aufgabe 2+#### Aufgabe B1: Zwei Schleifen
 Schau dir die untenstehende Kara-Welt gut an. Kannst du ein Kara-Programm schreiben, das **mit zwei Schleifen** zum Pilz kommt? Dafür kannst du mit `kara.treeFront()` herausfinden, ob vor Kara ein Baum steht. Schau dir die untenstehende Kara-Welt gut an. Kannst du ein Kara-Programm schreiben, das **mit zwei Schleifen** zum Pilz kommt? Dafür kannst du mit `kara.treeFront()` herausfinden, ob vor Kara ein Baum steht.
  
-<kara-editor step="300" id="a2">+<kara-exercise step="300" id="a2">
 while not kara.treeFront(): while not kara.treeFront():
     kara.move()     kara.move()
Zeile 46: Zeile 48:
    TTTTMTTTT    TTTTMTTTT
 </kara-world> </kara-world>
-</kara-editor> +<kara-solution>
- +
-<nodisp 2> +
-++++Lösung 2| +
-<code python>+
 while not kara.treeFront(): while not kara.treeFront():
     kara.move()     kara.move()
Zeile 58: Zeile 56:
 while not kara.mushroomFront(): while not kara.mushroomFront():
     kara.move()     kara.move()
-</code+</kara-solution
-++++ +<kara-tests> 
-</nodisp>+assert kara.x == 4 and kara.y == 7, f"Kara sollte an 4/7 sein, war aber an {kara.x}/{kara.y}" 
 +</kara-tests> 
 +</kara-exercise>
  
-### Aufgabe 3+#### Aufgabe B2: Anpassungsfähige Kara
 Schreibe ein Kara-Programm, das mit zwei Schleifen zum Pilz gelangt! Funktioniert das Programm auch, wenn Kara zu Beginn in eine andere Richtung schaut? Schreibe ein Kara-Programm, das mit zwei Schleifen zum Pilz gelangt! Funktioniert das Programm auch, wenn Kara zu Beginn in eine andere Richtung schaut?
  
Zeile 95: Zeile 95:
 </kara-editor> </kara-editor>
  
-<nodisp 2>+<nodisp 1>
 ++++Lösung 3| ++++Lösung 3|
 <code python> <code python>
Zeile 110: Zeile 110:
 Eine `while`-Schleife lässt sich auch innerhalb einer anderen Schleife verschachteln. Eine `while`-Schleife lässt sich auch innerhalb einer anderen Schleife verschachteln.
  
-#### Aufgabe 4+#### Aufgabe B3: Code interpretieren
  
 <WRAP todo> <WRAP todo>
Zeile 116: Zeile 116:
 </WRAP> </WRAP>
  
-Betrachte den folgenden Code! Wie wird sich Kara bewegen?+Betrachte den folgenden Code zuerst **ohne ihn auszuführen**! Wie wird sich Kara bewegen?
  
 <kara-editor step="300" id="a4"> <kara-editor step="300" id="a4">
Zeile 137: Zeile 137:
  
  
-Kara geht geradeaus, solange kein Pilz vor ihr steht. Wenn sie dabei auf einen Baum trifft, wendet sie nach links, bis der Weg frei ist. Funktioniert das bereits immer? Kannst du ein Labyrinth entwerfen, aus dem Kara nicht hinausfindet?+Kara geht geradeaus, solange kein Pilz vor ihr steht. Wenn sie dabei auf einen Baum trifft, wendet sie nach links, bis der Weg frei ist. Funktioniert das immer? Kannst du ein Labyrinth entwerfen, aus dem Kara nicht hinausfindet?
  
 ++++Antwort| ++++Antwort|
  • gf_informatik/karatutorial/loops.1787578419.txt.gz
  • Zuletzt geändert: 2026-08-24 13:33
  • von hof