Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
| gf_informatik:programmieren_iii_gra [2025-04-24 13:29] – [Aufgabe L22 – Pixel-Art (für Fortgeschrittene)] gra | gf_informatik:programmieren_iii_gra [2025-06-05 07:21] (aktuell) – [Programmieren Teil 3 – Listen (mit der while-Schleife)] gra | ||
|---|---|---|---|
| Zeile 13: | Zeile 13: | ||
| * Ich kann Listen anaylsieren (z.B. Mittelwert oder Höchstwert ermitteln) oder verändern (z.B. Duplikate entfernen etc). | * Ich kann Listen anaylsieren (z.B. Mittelwert oder Höchstwert ermitteln) oder verändern (z.B. Duplikate entfernen etc). | ||
| * Ich kann das Modul '' | * Ich kann das Modul '' | ||
| - | * Ich kann bestimmte Elemente | + | * Ich kann mit '' |
| * Ich kann bestimmte Elemente in einer Liste zählen. | * Ich kann bestimmte Elemente in einer Liste zählen. | ||
| Zeile 464: | Zeile 464: | ||
| == Zusatzaufgabe 1 – Bruder Jakob == | == Zusatzaufgabe 1 – Bruder Jakob == | ||
| - | Die Popcorn-Melodie ist einfach mit Blick auf die Rhythmus: Alle Töne sind gleich lang. Bei den meisten Liedern ist das nicht so. Zu m Beispiel | + | Die Popcorn-Melodie ist einfach mit Blick auf die Rhythmus: Alle Töne sind gleich lang. Bei den meisten Liedern ist das nicht so. Zum Beispiel |
| {{: | {{: | ||
| Zeile 816: | Zeile 816: | ||
| </ | </ | ||
| - | < | + | < |
| - | ++++Lösungen L16-L21| | + | ++++Lösungen L16-L22| |
| === Aufgabe L16 === | === Aufgabe L16 === | ||
| Zeile 986: | Zeile 986: | ||
| playTone(popcorn[i], | playTone(popcorn[i], | ||
| i = i + 1 | i = i + 1 | ||
| + | </ | ||
| + | |||
| + | === Aufgabe L22 === | ||
| + | <code python> | ||
| + | from gturtle import * | ||
| + | morla = Turtle() | ||
| + | |||
| + | morla.right(90) | ||
| + | morla.penUp() | ||
| + | morla.hideTurtle() | ||
| + | |||
| + | # 4 Farben: 1 für Hintgergrund, | ||
| + | colors = ("# | ||
| + | |||
| + | # Pixel-Liste: | ||
| + | pixels = [[0, 0, 0, 1, 1, 0, 0, 0], | ||
| + | [0, 0, 1, 1, 1, 1, 0, 0], | ||
| + | [0, 1, 1, 1, 1, 1, 1, 0], | ||
| + | [0, 1, 0, 1, 1, 0, 1, 0], | ||
| + | [0, 2, 2, 2, 2, 2, 2, 0], | ||
| + | [0, 0, 2, 0, 0, 2, 0, 0], | ||
| + | [0, 3, 0, 3, 3, 0, 3, 0], | ||
| + | [3, 0, 3, 0, 0, 3, 0, 3]] | ||
| + | |||
| + | # Ein Quadrat mit gewünschter Farbe zeichnen: | ||
| + | def square(color, | ||
| + | morla.setFillColor(color) | ||
| + | morla.startPath() | ||
| + | count = 0 | ||
| + | while count < 4: | ||
| + | morla.forward(side) | ||
| + | morla.right(90) | ||
| + | count += 1 | ||
| + | morla.fillPath() | ||
| + | |||
| + | # Pixel für Pixel gemäss Liste zeichnen: | ||
| + | px_size = 20 | ||
| + | row = 0 | ||
| + | xpos = 0 | ||
| + | ypos = 0 | ||
| + | while row < 8: | ||
| + | morla.setPos(xpos, | ||
| + | column = 0 | ||
| + | while column < 8: | ||
| + | square(colors[pixels[row][column]], | ||
| + | morla.forward(px_size) | ||
| + | column = column + 1 | ||
| + | ypos = ypos - px_size | ||
| + | row = row + 1 | ||
| </ | </ | ||
| ++++ | ++++ | ||
| </ | </ | ||