lehrkraefte:blc:informatik:glf19:progchallenge

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
lehrkraefte:blc:informatik:glf19:progchallenge [2019/09/24 14:22]
Ivo Blöchliger created
lehrkraefte:blc:informatik:glf19:progchallenge [2019/10/23 09:06] (current)
Ivo Blöchliger [waben.py]
Line 1: Line 1:
 ====== Programmier-Challenges ====== ====== Programmier-Challenges ======
 +Diese Challenges richten sich an Schülerinnen und Schüler, die bereits die ersten Abschnitte bis und mit dem Abschnitt "Wiederholung" in den Kapiteln [[http://www.tigerjython.ch/index.php?inhalt_links=navigation.inc.php&inhalt_mitte=turtle/turtle.inc.php|Turtle Grafik]] und/oder [[http://www.tigerjython.ch/index.php?inhalt_links=navigation.inc.php&inhalt_mitte=grafik/grafik.inc.php|Grafik und Bilder]] bearbeitet haben.
 +
 +Die folgenden Aufgaben sind einiges anspruchsvoller als die Aufgaben im TigerJython-Kurs.
 ===== spirale.py ===== ===== spirale.py =====
-Mit Hilfe der Turtle-Grafik erstellen Sie folgende Grafik (Skalierung und Rotation dürfen unterschiedlich sein):+Voraussetzungen: Die ersten zwei oder drei Abschnitte im Kapitel [[http://www.tigerjython.ch/index.php?inhalt_links=navigation.inc.php&inhalt_mitte=turtle/turtleBewegen.inc.php|"Turtlegrafik"]]. Sie brauche dazu "Wiederholungen", die aber auch im zweiten Kapitel von [[http://www.tigerjython.ch/index.php?inhalt_links=navigation.inc.php&inhalt_mitte=grafik/grafik.inc.php|Grafik und Bilder]] behandelt werden. 
 + 
 +Mit Hilfe der **Turtle-Grafik** erstellen Sie folgende Grafik (Skalierung und Rotation dürfen unterschiedlich sein).  
 +//Es geht natürlich auch mit Koordinatengrafik, ist aber mathematisch einiges anspruchsvoller.// 
 + 
 +Um Flächen zu füllen, studieren Sie den Unterabschnitt "Gefüllte Flächen" im Abschnitt "Farben" von Kapitel "Turtle Grafik".
  
 {{ :lehrkraefte:blc:informatik:glf19:spirale.png?direct |}} {{ :lehrkraefte:blc:informatik:glf19:spirale.png?direct |}}
Line 14: Line 22:
  
 # Startlaenge der ersten Katheten # Startlaenge der ersten Katheten
-l=2+lang = 2
 # Startposition # Startposition
 setScreenPos(Point(200,300)) setScreenPos(Point(200,300))
Line 22: Line 30:
 # Hier fehlt Ihr Code... # Hier fehlt Ihr Code...
 # #
 +# Hinweis: Zeichnen Sie erst einmal ein 
 +# gleichschenklig rechtwinkliges Dreieck 
 +# mit einem Quadrat. Verwenden Sie dazu 
 +# jeweils den Befehl forward(lang).
 +# Passen Sie die Variable lang nötigenfalls
 +# an, z.B. (hier nicht so brauchbar) mit 
 +# lang = lang*42
 +#
 +# Wenn die erste Figur funktioniert, setzten Sie 
 +# den ganzen Code in eine for-Schlaufe oder repeat-Schlaufe.
 +#
 +# Stellen Sie sicher, dass die Turtle nach der Figur am
 +# richtigen Ort ist und in die richtige Richtung schaut.
 </code> </code>
 +
 +===== perspectivegrid.py =====
 +Voraussetzungen: Die ersten zwei Abschnitte vom Kapitel [[http://www.tigerjython.ch/index.php?inhalt_links=navigation.inc.php&inhalt_mitte=grafik/forInRange.inc.php|Koordinatengrafik]].
 +
 +Erzeugen Sie ein Bild, das folgendem Bild ähnlich sieht:
 +
 +{{ :lehrkraefte:blc:informatik:glf19:perspectivegrid.png?direct |}}
 +
 +<code python perspectivegrid.py>
 +from gpanel import *
 +
 +makeGPanel(-10, 10, -15, 5)
 +
 +#
 +# Hier fehlt Ihr Code...
 +#
 +</code>
 +
 +===== waben.py =====
 +Erstellen Sie ein Bild, das "Honigwaben" darstellt. Gehen Sie dazu in folgenden Stufen vor:
 +  - Nur ein Sechseck, ohne Farbfüllung.
 +  - Eine horizontale Zeile von 10 Sechsecken.
 +  - Die ganze 10x10 Wabe. Verwenden Sie dazu pushState() und popState(), um die Position und Richtung der Turtle am Anfang einer Zeile zu speichern und am Ende einer Zeile wieder herzustellen.
 +  - Für die Farbfüllung können Sie wie folgt vorgehen: Definieren Sie vor den Wiederholungen eine Variable farbe=1. Vor dem Zeichnen eines Sechsecks legen Sie die Füllfarbe fest und ändern die Variable farbe entsprechend.
 +
 +<code python>
 +farbe = 1
 +# Wiederholung:
 +  # Wiederholung:
 +    if farbe==1:
 +      setFillColor("red")
 +      farbe = 2  # Beim nächsten Durchgang Farbe 2 verwenden
 +    elif farbe==2:
 +      # etc
 +      # etc
 +</code>
 +
 +{{ :lehrkraefte:blc:informatik:glf19:waben.png?direct |}}
 +
 +==== Hilfestellungen ====
 +  * [[http://www.tigerjython.ch/index.php?inhalt_links=navigation.inc.php&inhalt_mitte=turtle/selektion.inc.php|Selektion]] (if-Abfragen, Code nur in bestimmten Fällen ausführen).
 +  * Turtle Position speichern und wiederherstellen: ''pushState()'' und ''popState()''
 +  * 
 +
 +
  • lehrkraefte/blc/informatik/glf19/progchallenge.1569327738.txt.gz
  • Last modified: 2019/09/24 14:22
  • by Ivo Blöchliger