Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
lehrkraefte:blc:informatik:glf19:progchallenge [2019/09/24 14:25] Ivo Blöchliger [spirale.py] |
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 " | ||
+ | |||
+ | Die folgenden Aufgaben sind einiges anspruchsvoller als die Aufgaben im TigerJython-Kurs. | ||
===== spirale.py ===== | ===== spirale.py ===== | ||
- | Voraussetzungen: | + | Voraussetzungen: |
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, | //Es geht natürlich auch mit Koordinatengrafik, | ||
+ | |||
+ | Um Flächen zu füllen, studieren Sie den Unterabschnitt " | ||
{{ : | {{ : | ||
Line 17: | Line 22: | ||
# Startlaenge der ersten Katheten | # Startlaenge der ersten Katheten | ||
- | l=2 | + | lang = 2 |
# Startposition | # Startposition | ||
setScreenPos(Point(200, | setScreenPos(Point(200, | ||
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, | ||
+ | # 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. | ||
</ | </ | ||
+ | |||
+ | ===== perspectivegrid.py ===== | ||
+ | Voraussetzungen: | ||
+ | |||
+ | Erzeugen Sie ein Bild, das folgendem Bild ähnlich sieht: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | <code python perspectivegrid.py> | ||
+ | from gpanel import * | ||
+ | |||
+ | makeGPanel(-10, | ||
+ | |||
+ | # | ||
+ | # Hier fehlt Ihr Code... | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | ===== waben.py ===== | ||
+ | Erstellen Sie ein Bild, das " | ||
+ | - 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(" | ||
+ | farbe = 2 # Beim nächsten Durchgang Farbe 2 verwenden | ||
+ | elif farbe==2: | ||
+ | # etc | ||
+ | # etc | ||
+ | </ | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ==== Hilfestellungen ==== | ||
+ | * [[http:// | ||
+ | * Turtle Position speichern und wiederherstellen: | ||
+ | * | ||
+ | |||
+ |