Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
| gf_informatik:karatutorial:verzweigungen [2026-08-29 07:50] – [Verzweigungen] hof | gf_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 | |
| - | ### 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! | ||
| - | < | + | < |
| < | < | ||
| | | ||
| Zeile 27: | Zeile 26: | ||
| </ | </ | ||
| < | < | ||
| - | assert world_leaves() == 0, "keine Blätter | + | assert world_leaves() == 0, f"Es hat noch {world_leaves()} |
| </ | </ | ||
| </ | </ | ||
| + | |||
| + | |||
| ### Verzweigungen | ### Verzweigungen | ||
| - | Wir können nur Blätter aufnehmen, wenn eines vorhanden ist. Um eine Anweisung nur dann auszuführen, | + | Wir können nur Blätter aufnehmen, wenn eines vorhanden ist. Um eine Anweisung nur dann auszuführen, |
| Der Fachbegriff für eine Verzweigung ist **Selektion** (Auswahl eines Ausführungspfades). | Der Fachbegriff für eine Verzweigung ist **Selektion** (Auswahl eines Ausführungspfades). | ||
| Zeile 52: | Zeile 53: | ||
| </ | </ | ||
| - | + | #### Aufgabe | |
| - | + | ||
| - | ### Aufgabe: Blätter verteilen | + | |
| Schreibe Code, der gerade umgekehrt funktioniert: | Schreibe Code, der gerade umgekehrt funktioniert: | ||
| - | < | + | < |
| < | < | ||
| | | ||
| Zeile 77: | Zeile 76: | ||
| - | ### Aufgabe Labyrinth-Gärtner | + | #### Aufgabe |
| 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. | ||
| - | < | + | < |
| < | < | ||
| | | ||
| 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): | ||
| - | < | + | < |
| < | < | ||
| | | ||
| Zeile 130: | Zeile 129: | ||
| </ | </ | ||
| - | ### Aufgabe: Blattwanderung | + | #### Aufgabe |
| 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? | ||
| - | < | + | < |
| < | < | ||
| | | ||
| Zeile 169: | Zeile 168: | ||
| </ | </ | ||
| - | ### Aufgabe: Pilzsuche | + | #### Aufgabe |
| 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: | ||
| </ | </ | ||
| - | < | + | < |
| ++++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. | ||
| < | < | ||
| Zeile 216: | Zeile 223: | ||
| ++++ | ++++ | ||
| </ | </ | ||
| - | ### Aufgabe Golfplatz (schwierig) | + | |
| + | #### Aufgabe | ||
| 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 227: | Zeile 235: | ||
| < | < | ||
| | | ||
| - | T> | + | TeLLLLLLLLT |
| | | ||
| | | ||
| Zeile 240: | Zeile 248: | ||
| < | < | ||
| # Spirale laufen | # Spirale laufen | ||
| - | kara.move() | ||
| while kara.onLeaf(): | while kara.onLeaf(): | ||
| kara.removeLeaf() | kara.removeLeaf() | ||