Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| lehrkraefte:blc:informatik:glf24:laby:wegfinden [2025/05/13 12:27] – created Ivo Blöchliger | lehrkraefte:blc:informatik:glf24:laby:wegfinden [2025/05/25 09:08] (current) – [Aufgabe 3] Ivo Blöchliger | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Einheit 3: Wegfindungsalgorithmen ====== | + | ====== Einheit 3: Einfachere |
| Wir arbeiten weiterhin im Verzeichnis '' | Wir arbeiten weiterhin im Verzeichnis '' | ||
| ===== Aufgabe 3 ===== | ===== Aufgabe 3 ===== | ||
| + | * Speichern Sie folgendes Programm als '' | ||
| + | <code python aufgabe3.py> | ||
| + | from laby import Laby | ||
| + | |||
| + | l = Laby(4,4) | ||
| + | # Aktuelle Zelle, bzw. Start-Zelle | ||
| + | aktuell = l[0,0] | ||
| + | # Zelle mit S markieren | ||
| + | aktuell.mark = " | ||
| + | print(l) | ||
| + | while True: # Endlosschleife | ||
| + | fertig = True | ||
| + | for dir in range(4): | ||
| + | nb = aktuell.nachbar(dir) | ||
| + | if nb!=None and nb.mark==" | ||
| + | aktuell.zustand(dir, | ||
| + | aktuell = nb # weiter gehen | ||
| + | aktuell.mark = " | ||
| + | print(l) | ||
| + | fertig = False | ||
| + | break # for-Schleife beenden | ||
| + | if fertig: | ||
| + | break # while-Schleife beenden | ||
| + | |||
| + | </ | ||
| + | * Führen Sie es aus | ||
| + | * Studieren und verstehen Sie das Programm. | ||
| + | * Können Sie die einzelnen Schritte nachvollziehen und erklären, warum das entstehende Labyrinth so aussieht wie es aussieht? | ||
| + | |||
| + | ===== Aufgabe 4 ===== | ||
| + | * Im Programm '' | ||
| + | * Können Sie das Resultat vorraussagen? | ||
| + | * Führen Sie das Programm aus. Können Sie das Resultat erklären? | ||
| + | |||
| + | ===== Aufgabe 5 ===== | ||
| + | * Im Programm '' | ||
| + | * Fügen Sie folgende Zeile unmittelbar vor der while Schlaufe ein: | ||
| + | <code python> | ||
| + | dirs = [0,2,1,3] | ||
| + | </ | ||
| + | * Ersetzen Sie dann in der for-Schleife den '' | ||
| + | * Können Sie das Resultat vorraussagen? | ||
| + | * Führen Sie das Programm aus. Können Sie das Resultat erklären? | ||
| + | |||
| + | ===== Aufgabe 6 ===== | ||
| + | * Immer noch im Programm '' | ||
| + | <code python> | ||
| + | from random import shuffle | ||
| + | </ | ||
| + | * Fügen Sie dann folgende Zeile unmittelbar vor der for-Schleife ein, und achten Sie auf korrekte Einrückung: | ||
| + | < | ||
| + | | ||
| + | </ | ||
| + | * Führen Sie das Programm mehrfach aus und erklären Sie das Resultat. Und die '' | ||