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:verzweigungen [2026-08-28 07:03] hofgf_informatik:karatutorial:verzweigungen [2026-09-02 07:25] (aktuell) hof
Zeile 10: Zeile 10:
     * Schlägt fehlt und beendet das Programm, wenn kein Blatt vorhanden ist.     * Schlägt fehlt und beendet das Programm, wenn kein Blatt vorhanden ist.
  
- +#### Aufgabe C1: Blätter sammeln
-### Aufgabe: Blätter sammeln+
  
 Schreibe Code, um alle bestehenden Blätter aufzusammeln. Achtung, auf dem Startfeld hat es kein Blatt! Schreibe Code, um alle bestehenden Blätter aufzusammeln. Achtung, auf dem Startfeld hat es kein Blatt!
  
-<kara-exercise id="collect_leaves" hidesolution>+<kara-exercise id="collect_leaves" showsolution>
 <kara-world> <kara-world>
    TTTTTTTTT    TTTTTTTTT
Zeile 27: Zeile 26:
 </kara-solution> </kara-solution>
 <kara-tests> <kara-tests>
-assert world_leaves() == 0, "keine Blätter erwartet"+assert world_leaves() == 0, f"Es hat noch {world_leaves()} Blätter!"
 </kara-tests> </kara-tests>
 </kara-exercise> </kara-exercise>
 +
 +
 ### Verzweigungen ### Verzweigungen
-Wir können nur Blätter aufnehmen, wenn eines vorhanden ist. Um eine Anweisung nur dann auszuführen, wenn eine Bedingung wahr ist, verwenden wir eine Verzweigung. Das Schlüsselwort in Python lautet `if`.+Wir können nur Blätter aufnehmen, wenn eines vorhanden ist. Um eine Anweisung nur dann auszuführen, wenn eine Bedingung wahr ist, verwenden wir eine Verzweigung. Das Schlüsselwort in Python lautet `if` (_en._ falls).
  
-Der Fachbegriff für eine Verzweigung ist **Selektion** (Auswahl einer Anweisung).+Der Fachbegriff für eine Verzweigung ist **Selektion** (Auswahl eines Ausführungspfades).
  
 Beispiel: Der folgende Code sammelt nur dann ein Blatt, wenn `kara.onLeaf()` wahr ist. Beachte: Der bedingt ausgeführte Code-Block muss **eingerückt** sein. Beispiel: Der folgende Code sammelt nur dann ein Blatt, wenn `kara.onLeaf()` wahr ist. Beachte: Der bedingt ausgeführte Code-Block muss **eingerückt** sein.
Zeile 52: Zeile 53:
 </kara-exercise> </kara-exercise>
  
- +#### Aufgabe C2: Blätter verteilen
- +
-### Aufgabe: Blätter verteilen+
  
 Schreibe Code, der gerade umgekehrt funktioniert: Überall, wo **kein** Blatt ist, soll eines hingelegt werden - auch im Startfeld. Schreibe Code, der gerade umgekehrt funktioniert: Überall, wo **kein** Blatt ist, soll eines hingelegt werden - auch im Startfeld.
  
-<kara-exercise id="put_leaves_if" hidesolution>+<kara-exercise id="put_leaves_if" showsolution>
 <kara-world> <kara-world>
    TTTTTTTTTT    TTTTTTTTTT
Zeile 77: Zeile 76:
  
  
-### Aufgabe Labyrinth-Gärtner+#### Aufgabe C3: Labyrinth-Gärtner
  
 Schreibe Code mit `while` und `if`, um alle Blätter aufzusammeln. Kara stoppt, wenn Sie einen Pilz erreicht. Schreibe Code mit `while` und `if`, um alle Blätter aufzusammeln. Kara stoppt, wenn Sie einen Pilz erreicht.
  
-<kara-exercise id="gardener1" step="50" hidesolution>+<kara-exercise id="gardener1" step="50" showsolution>
 <kara-world> <kara-world>
    TTTTTTTTTTT    TTTTTTTTTTT
Zeile 113: Zeile 112:
 Der folgende Code sammelt die bestehenden Blätter und legt ein neues Blatt hin, falls es keines hat (ausser im letzten Feld): Der folgende Code sammelt die bestehenden Blätter und legt ein neues Blatt hin, falls es keines hat (ausser im letzten Feld):
  
-<kara-exercise id="toggle_leaves" hidesolution>+<kara-exercise id="toggle_leaves" showsolution>
 <kara-world> <kara-world>
    TTTTTTTTT    TTTTTTTTT
Zeile 130: Zeile 129:
 </kara-exercise> </kara-exercise>
  
-### Aufgabe: Blattwanderung+#### Aufgabe C4: Blattwanderung
  
 Schreibe Python-Code mit folgenden Eigenschaften: Schreibe Python-Code mit folgenden Eigenschaften:
Zeile 142: Zeile 141:
 Bei welchem Pilz landet Kara? Bei welchem Pilz landet Kara?
  
-<kara-exercise id="leaf_walk" hidesolution>+<kara-exercise id="leaf_walk" showsolution>
 <kara-world> <kara-world>
    TTTTTTTTTTT    TTTTTTTTTTT
Zeile 169: Zeile 168:
 </kara-exercise> </kara-exercise>
  
-### Aufgabe: Pilzsuche+#### Aufgabe C5: Pilzsuche
  
 Lies das folgende Python-Programm für Kara und beschreibe es in natürlicher Sprache. Bestimme, auf welchem Feld Kara landen wird. Lies das folgende Python-Programm für Kara und beschreibe es in natürlicher Sprache. Bestimme, auf welchem Feld Kara landen wird.
Zeile 189: Zeile 188:
 </WRAP> </WRAP>
  
-<nodisp 2>+<nodisp 1>
 ++++Lösung| ++++Lösung|
-Kara landet auf dem Feld **B6**:+Kara landet auf dem Feld **B6**
 + 
 +Eine Beschreibung könnte so aussehen: 
 +  * Solange Kara nicht vor einem Baum steht: 
 +    * Falls Kara auf einem Blatt steht: 
 +      * ... wendet sie nach links. 
 +    * Falls Kara vor einem Pilz steht: 
 +      * ... wendet sie nach rechts. 
 +    * So oder so geht Kara einen Schritt weiter.
  
 <kara-exercise id="mushroom_walk"> <kara-exercise id="mushroom_walk">
Zeile 217: Zeile 224:
 </nodisp> </nodisp>
  
-### Aufgabe Golfplatz (schwierig)+#### Aufgabe C6: Golfplatz (schwierig)
 Der Golf-Rasen ist voller Blätter - schreibe Code, um alle Blätter aufzusammeln! Der Golf-Rasen ist voller Blätter - schreibe Code, um alle Blätter aufzusammeln!
  
Zeile 228: Zeile 235:
 <kara-world> <kara-world>
    TTTTTTTTTTT    TTTTTTTTTTT
-   T>LLLLLLLLT+   TeLLLLLLLLT
    TLLLLLLLLLT    TLLLLLLLLLT
    TLLLLLLLLLT    TLLLLLLLLLT
Zeile 241: Zeile 248:
 <kara-solution> <kara-solution>
 # Spirale laufen # Spirale laufen
-kara.move() 
 while kara.onLeaf(): while kara.onLeaf():
     kara.removeLeaf()     kara.removeLeaf()
Zeile 260: Zeile 266:
 </kara-tests> </kara-tests>
 </kara-exercise> </kara-exercise>
 +
 +### Weiter
 +Weiter gehts mit [[.:logik]].
  
  
  • gf_informatik/karatutorial/verzweigungen.1787900600.txt.gz
  • Zuletzt geändert: 2026-08-28 07:03
  • von hof