lehrkraefte:blc:informatik:glf19:progchallenge

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
lehrkraefte:blc:informatik:glf19:progchallenge [2019/09/24 14:55]
Ivo Blöchliger
lehrkraefte:blc:informatik:glf19:progchallenge [2019/09/26 08:14]
Ivo Blöchliger
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 =====
-Voraussetzungen: Die ersten drei Abschnitte im Kapitel [[http://www.tigerjython.ch/index.php?inhalt_links=navigation.inc.php&inhalt_mitte=turtle/turtleBewegen.inc.php|"Turtlegrafik"]] +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).  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.// //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 17: 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 25: 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>
  
Line 43: Line 61:
 # #
 </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 eine 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.txt
  • Last modified: 2019/10/23 09:06
  • by Ivo Blöchliger