gf2:pythonaufgabenkonzepte

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
gf2:pythonaufgabenkonzepte [2024/11/08 14:58] – angelegt marrocgf2:pythonaufgabenkonzepte [2025/01/05 18:59] (aktuell) marroc
Zeile 31: Zeile 31:
 <WRAP nicebox green> <WRAP nicebox green>
  
-**Aufgabe B** +**Aufgabe B** 
   - Analysiere das untenstehende Programm. Was macht der Agent?   - Analysiere das untenstehende Programm. Was macht der Agent?
   - Welche Variablen beinhaltet das Programm? Identifiziere diese Variablen. (Bemerkung: wir werden weiter später sehen, wie man dieses Beispiel viel eleganter programmieren kann.)   - Welche Variablen beinhaltet das Programm? Identifiziere diese Variablen. (Bemerkung: wir werden weiter später sehen, wie man dieses Beispiel viel eleganter programmieren kann.)
Zeile 183: Zeile 182:
 baueSpirale() baueSpirale()
 agent.move(FORWARD, 10) agent.move(FORWARD, 10)
-baueSpirale() +
-agent.move(FORWARD, 10) +
-baueSpirale() +
-agent.move(FORWARD, 10) +
-baueSpirale() +
-agent.move(FORWARD, 10)+
 </code> </code>
  
Zeile 194: Zeile 188:
  
 **Aufgaben C** **Aufgaben C**
- 
   - Überlege dir, was der Agent genau baut, wenn man das oben angegebene Programm ausführt. Bei welcher Zeile des Codes beginnt der Agent mit dem Bauen?   - Überlege dir, was der Agent genau baut, wenn man das oben angegebene Programm ausführt. Bei welcher Zeile des Codes beginnt der Agent mit dem Bauen?
   - Mache eine kleine Skizze: wie wird das gebaute Objekt wohl aussehen? Häuschenpapier kann viel helfen...   - Mache eine kleine Skizze: wie wird das gebaute Objekt wohl aussehen? Häuschenpapier kann viel helfen...
-  - Überprüfe deine Überlegung und deine Skizze, indem du das Programm in Minecraft einfügst und ausführst (evt. musst du zunächst den Agenten zu dir teleportieren. Im Chat kannst du das machen mit ''/teleport @c @s'')\\  \\  +  - Überprüfe deine Überlegung und deine Skizze, indem du das Programm in Minecraft einfügst und ausführst (evt. musst du zunächst den Agenten zu dir teleportieren. Im Chat kannst du das machen mit ''/teleport @c @s''
-  - Gibt es eine Möglichkeit, das in vorige Aufgabe (Aufgabe 3) geschriebene Programm zu verkürzen? Wenn ja, welche? Wenn nein, warum bist du sicher, den kürzesten Programmcode gefunden zu haben?\\ \\ +  - Gibt es eine Möglichkeit, das in vorige Aufgabe (Aufgabe 3) geschriebene Programm zu verkürzen? Wenn ja, welche? Wenn nein, warum bist du sicher, den kürzesten Programmcode gefunden zu haben?
   - Schreibe eine Funktion ''linie1()'', welche den Agenten dazu bringt, eine Linie aus 5 Blöcken mit dem Material deiner Wahl zu bauen.    - Schreibe eine Funktion ''linie1()'', welche den Agenten dazu bringt, eine Linie aus 5 Blöcken mit dem Material deiner Wahl zu bauen. 
   - Schreibe ein Programm, welches ein gefülltes Quadrat der Grösse 5 mal 5 Blöcke aus Gold baut (nutze eventuell die Lösung der Aufgabe 5). Versuche, einen möglichst kurzen Code zu produzieren!   - Schreibe ein Programm, welches ein gefülltes Quadrat der Grösse 5 mal 5 Blöcke aus Gold baut (nutze eventuell die Lösung der Aufgabe 5). Versuche, einen möglichst kurzen Code zu produzieren!
Zeile 314: Zeile 307:
  
 **Aufgaben D** **Aufgaben D**
- 
   - Spiralen:   - Spiralen:
     - Studiere das neue Programm für die Spirale. Wird der Agent dieses Mal dasselbe bauen wie vorher? Erkläre.     - Studiere das neue Programm für die Spirale. Wird der Agent dieses Mal dasselbe bauen wie vorher? Erkläre.
Zeile 447: Zeile 439:
  
 Tipps: Tipps:
- 
   * Dein Code beginnt mit ''Materialien=[RED_SANDSTONE, GRASS, WOOL, DIAMOND_BLOCK, GOLD_BLOCK]''   * Dein Code beginnt mit ''Materialien=[RED_SANDSTONE, GRASS, WOOL, DIAMOND_BLOCK, GOLD_BLOCK]''
   * Die Liste muss in deinem Code verwendet werden   * Die Liste muss in deinem Code verwendet werden
Zeile 472: Zeile 463:
 </accordion> </accordion>
 ==== Der range-Befehl ==== ==== Der range-Befehl ====
- 
 Sehr häufig möchte man eine regelmässige Liste von Zahlen erstellen: z.B. alle Zahlen von 1 bis 10 oder die Zahlen von 1 bis 100 in 2er-Schritten etc.Sehr häufig möchte man eine regelmässige Liste von Zahlen erstellen: z.B. alle Zahlen von 1 bis 10 oder die Zahlen von 1 bis 100 in 2er-Schritten etc. Dazu ist der range-Befehl sehr praktisch. Dieser kann in drei Varianten genutzt werden:Dazu ist der range-Befehl sehr praktisch. Dieser kann in drei Varianten genutzt werden: Sehr häufig möchte man eine regelmässige Liste von Zahlen erstellen: z.B. alle Zahlen von 1 bis 10 oder die Zahlen von 1 bis 100 in 2er-Schritten etc.Sehr häufig möchte man eine regelmässige Liste von Zahlen erstellen: z.B. alle Zahlen von 1 bis 10 oder die Zahlen von 1 bis 100 in 2er-Schritten etc. Dazu ist der range-Befehl sehr praktisch. Dieser kann in drei Varianten genutzt werden:Dazu ist der range-Befehl sehr praktisch. Dieser kann in drei Varianten genutzt werden:
  
Zeile 489: Zeile 479:
 <WRAP nicebox green> <WRAP nicebox green>
  
-**Aufgabe F** +**Aufgabe F** \\
 Erstelle mit dem ''range''-Befehl die folgenden Listen: Erstelle mit dem ''range''-Befehl die folgenden Listen:
  
Zeile 594: Zeile 583:
 <WRAP nicebox green> <WRAP nicebox green>
  
-**Aufgabe G**+**Aufgabe G** \\
  
 Schreibe das Programm aus Aufgabe E kürzer. Gehe wie folgt vor: Schreibe das Programm aus Aufgabe E kürzer. Gehe wie folgt vor:
Zeile 620: Zeile 609:
 <WRAP nicebox green> <WRAP nicebox green>
  
-**Aufgaben H**+**Aufgaben H** \\
  
   - Schreibe eine Funktion ''LinieZwei(n)'', welche eine Linie mit zwei selbst gewählten Materialien baut, wobei es jeweils abwechselt.   - Schreibe eine Funktion ''LinieZwei(n)'', welche eine Linie mit zwei selbst gewählten Materialien baut, wobei es jeweils abwechselt.
Zeile 851: Zeile 840:
 </panel> </panel>
 </accordion> </accordion>
-/*+ 
 +<accordion> 
 +<panel title="schwierigere Aufgabe">
 <WRAP nicebox green> <WRAP nicebox green>
 **Zusatzaufgabe** **Zusatzaufgabe**
Zeile 862: Zeile 853:
 Wie kann man ein Haus bauen? Ist das überhaupt über den Code-Builder so möglich? Eine Idee wäre z.B., dass man einen gefüllten Block macht und ihn dann mit einem kleineren gefüllten Block aus 'Luft' wieder aushöhlt... danach kann man Fenster, Türe etc einfügen und das Dach machen. Man kann aber auch die Wände einzeln bauen, wenn man möchte. Wie kann man ein Haus bauen? Ist das überhaupt über den Code-Builder so möglich? Eine Idee wäre z.B., dass man einen gefüllten Block macht und ihn dann mit einem kleineren gefüllten Block aus 'Luft' wieder aushöhlt... danach kann man Fenster, Türe etc einfügen und das Dach machen. Man kann aber auch die Wände einzeln bauen, wenn man möchte.
 </WRAP> </WRAP>
-*/+ 
 +</panel> 
 +</accordion> 
  
  
  • gf2/pythonaufgabenkonzepte.1731074321.txt.gz
  • Zuletzt geändert: 2024/11/08 14:58
  • von marroc