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:34] – [Aufgabe 4] 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 109: Zeile 109:
 ### Verschachtelte Schleifen ### Verschachtelte Schleifen
 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 115: 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">
  • gf_informatik/karatutorial/loops.1787578487.txt.gz
  • Zuletzt geändert: 2026-08-24 13:34
  • von hof