Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
gf_informatik:algorithmen_i_sca [2024-12-12 20:44] – [Aufgabe B9] sca | gf_informatik:algorithmen_i_sca [2024-12-20 09:38] (aktuell) – [Installation] sca | ||
---|---|---|---|
Zeile 185: | Zeile 185: | ||
1. und ziehe es in den vorbereiteten Ordner. | 1. und ziehe es in den vorbereiteten Ordner. | ||
1. Öffne nun deinen Ordner mit VSCode und beginne darin zu arbeiten. | 1. Öffne nun deinen Ordner mit VSCode und beginne darin zu arbeiten. | ||
+ | |||
+ | Christmas Edition: | ||
+ | {{ : | ||
=== Erste Schritte mit dem Skunky === | === Erste Schritte mit dem Skunky === | ||
Zeile 434: | Zeile 437: | ||
* Wert 2 (hier 5): Anzahl Zellen in $y-$Richtung | * Wert 2 (hier 5): Anzahl Zellen in $y-$Richtung | ||
* Wert 3 (hier 25): Wert zwischen 1 und 100, je kleiner, desto mehr Abbiegungen im Weg | * Wert 3 (hier 25): Wert zwischen 1 und 100, je kleiner, desto mehr Abbiegungen im Weg | ||
+ | |||
+ | Auftrag (wenn räumlich möglich): | ||
+ | |||
+ | 1. Baue Labyrinth mit Stühlen nach. | ||
+ | 1. Arbeite in kleinen Gruppen. | ||
+ | 1. Auf *Papier*: Schreibt Code, der Skunky für jedes solche Labyrinth zum Ziel führt. | ||
+ | 1. Probiert Code im echten Labyrinth aus, verbessert gegebenenfalls. | ||
+ | 1. Schreibe Code in Python. Jede(r) schreibt *eigenen* Code. | ||
++++Code| | ++++Code| | ||
Zeile 481: | Zeile 492: | ||
lab = create_random_world_with_path(20, | lab = create_random_world_with_path(20, | ||
- | fritz = Skunky(world_map=lab) | + | fritz = Skunky(world_map=lab, |
+ | |||
+ | # here add your code | ||
fritz.show_indefinitely() | fritz.show_indefinitely() | ||
</ | </ | ||
++++ | ++++ | ||
+ | |||
+ | === Aufgabe B10 === | ||
+ | |||
+ | Stelle dir vor, dass eines Tages dein Überleben davon abhängt, ob du aus einem Labyrinth herausfindest oder nicht. Wie gehst du vor? Es gibt einen einfachen Algorithmus, | ||
+ | |||
+ | 1. Arbeite in 2er Gruppe | ||
+ | 1. Holt beim Lehrer einen Ausdruck des folgenden Labyrinths: | ||
+ | {{: | ||
+ | 1. Verwendet ein kleines Objekt als Skunky ... | ||
+ | 1. ... und versucht verschiedene Ideen heraus, mit der der Skunky *systematisch* aus diesem und (fast) jedem anderen Labyrinth herausfindet. Findet eine Strategie / einen Algorithmus. | ||
+ | 1. Diskutiert eure Strategie mit dem Lehrer. | ||
+ | 1. Sobald ihr das OK vom Lehrer habt: Implementiert euren Algorithmus für den Skunky und probiert diesen für verschiedene Labyrinthe aus. | ||
+ | |||
+ | === Optional: Aufgabe B11 === | ||
+ | |||
+ | Ziemlich anspruchsvoll. Es hilft auch, wenn man schon weitere Programmierkonzepte wie Listen kennt. | ||
+ | |||
+ | 1. Mit dem Algorithmus der letzten Aufgabe findet man aus fast allen Labyrinthen heraus. Es gibt aber solche, für die dieser Algorithmus nicht funktioniert. Für welche? | ||
+ | 1. Ein Beispiel ist das Labyrinth unten. Hole beim Lehrer einen Ausdruck und versuche, einen Algorithmus zu finden, der den Skunky aus diesem (und jedem anderen Labyrinth) herausbringt. | ||
+ | 1. Implementiere den Algorithmus als Code. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ++++Code Labyrinth| | ||
+ | |||
+ | <code python> | ||
+ | lab = [ | ||
+ | " | ||
+ | " | ||
+ | "t t ttttt ttt t", | ||
+ | "t t t tttgt t", | ||
+ | "t t t t t t t", | ||
+ | "t t | ||
+ | "t ttttt tttt t", | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | "tf ttt ttt t tt", | ||
+ | " | ||
+ | "tf t ttt t t t", | ||
+ | " | ||
+ | "tf tttttt tt tt", | ||
+ | " | ||
+ | " | ||
+ | ] | ||
+ | </ | ||
+ | |||
+ | ++++ | ||
+ | |||
+ |