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-03-25 20:38] – [Aufgabe L20 – Pixel-Matrix (optional)] gra | gf_informatik:programmieren_iii_gra [2025-04-19 08:28] (aktuell) – [Programmieren Teil 3 – Listen (mit der while-Schleife)] gra | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Programmieren Teil 3 – Listen (mit der while-Schleife) ====== | ====== Programmieren Teil 3 – Listen (mit der while-Schleife) ====== | ||
- | + | * Dieses Seite ist die Fortsetzung von [[gf_informatik: | |
- | Dieses Seite ist die Fortsetzung von [[gf_informatik: | + | * Weiter zu [[gf_informatik: |
++++Lernziele: | ++++Lernziele: | ||
Zeile 417: | Zeile 417: | ||
* Erstelle Animationen aus mehreren Bildern. | * Erstelle Animationen aus mehreren Bildern. | ||
+ | |||
+ | === Aufgabe L21 – Popcorn (optional) === | ||
+ | {{: | ||
+ | |||
+ | Mit der Turtle-Funktion '' | ||
+ | <code python> | ||
+ | playTone(440, | ||
+ | </ | ||
+ | Hier wird der Ton A4 (440 Hz) für 300 Millisekunden mit dem Klang einer Gitarre gespielt. Weitere Infos zur Funktion [[https:// | ||
+ | |||
+ | Mit Listen können wir Melodien erstellen: Wir können alle Töne in einer Melodie in einer Liste speichern. | ||
+ | <code python> | ||
+ | # Frequenzen der Noten von A3 bis G5 | ||
+ | A3 = 220 | ||
+ | B3 = 247 | ||
+ | C4 = 262 | ||
+ | D4 = 294 | ||
+ | E4 = 330 | ||
+ | F4 = 349 | ||
+ | G4 = 392 | ||
+ | A4 = 440 | ||
+ | B4 = 494 | ||
+ | C5 = 523 | ||
+ | D5 = 587 | ||
+ | E5 = 659 | ||
+ | F5 = 698 | ||
+ | F5s = 740 | ||
+ | G5 = 784 | ||
+ | P = 0 | ||
+ | |||
+ | popcorn = [ | ||
+ | A4, G4, A4, E4, C4, E4, A3, P, | ||
+ | A4, G4, A4, E4, C4, E4, A3, P, | ||
+ | A4, B4, C5, B4, C5, A4, B4, A4, B4, G4, A4, G4, A4, F4, A4, P, | ||
+ | A4, G4, A4, E4, C4, E4, A3, P, | ||
+ | A4, G4, A4, E4, C4, E4, A3, P, | ||
+ | A4, B4, C5, B4, C5, A4, B4, A4, B4, G4, A4, G4, A4, B4, C5, P, | ||
+ | E5, D5, E5, C5, G4, C5, E4, P, | ||
+ | E5, D5, E5, C5, G4, C5, E4, P, | ||
+ | E5, F5s, G5, F5s, G5, E5, F5s, E5, F5s, D5, E5, D5, E5, C5, E5, P | ||
+ | ] | ||
+ | </ | ||
+ | Obiger Code definiert erst die Frequenzen für die Töne A3 bis G5 (und P für Pause). Dann werden die Töne des Lieds [[https:// | ||
+ | |||
+ | **Aufgabe: | ||
+ | |||
+ | == 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 das Lied //Bruder Jakob//: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Schreibe ein Programm, das die Melodie von Bruder Jakob korrekt spielt. | ||
+ | * Erstelle erst die Liste der Töne (ausgehnd von den Noten). [[https:// | ||
+ | * Erstelle dann eine zweite Liste für die Tondauern: Für jeden Ton der ersten Liste speichert diese Liste die entsprechende Dauer (Viertelton, | ||
+ | * In der while-Schleife kannst du dann beide Listen gleichzeitig durchgehen. | ||
===== Lösungen ===== | ===== Lösungen ===== | ||
Zeile 716: | Zeile 771: | ||
</ | </ | ||
<nodisp 2> | <nodisp 2> | ||
- | ++++Lösungen L16-L20| | + | ++++Lösungen L16-L21| |
=== Aufgabe L16 === | === Aufgabe L16 === | ||
Zeile 807: | Zeile 862: | ||
=== Aufgabe L20 === | === Aufgabe L20 === | ||
<code python> | <code python> | ||
- | rom gturtle import * | + | from gturtle import * |
morla = Turtle() | morla = Turtle() | ||
Zeile 840: | Zeile 895: | ||
ypos = ypos - 30 | ypos = ypos - 30 | ||
row = row + 1 | row = row + 1 | ||
+ | </ | ||
+ | |||
+ | === Aufgabe L21 === | ||
+ | <code python> | ||
+ | from gturtle import * | ||
+ | |||
+ | # Frequenzen der Noten von A3 bis G5 | ||
+ | A3 = 220 | ||
+ | B3 = 247 | ||
+ | C4 = 262 | ||
+ | D4 = 294 | ||
+ | E4 = 330 | ||
+ | F4 = 349 | ||
+ | G4 = 392 | ||
+ | A4 = 440 | ||
+ | B4 = 494 | ||
+ | C5 = 523 | ||
+ | D5 = 587 | ||
+ | E5 = 659 | ||
+ | F5 = 698 | ||
+ | F5s = 740 | ||
+ | G5 = 784 | ||
+ | P = 0 | ||
+ | |||
+ | popcorn = [ | ||
+ | A4, G4, A4, E4, C4, E4, A3, P, | ||
+ | A4, G4, A4, E4, C4, E4, A3, P, | ||
+ | A4, B4, C5, B4, C5, A4, B4, A4, B4, G4, A4, G4, A4, F4, A4, P, | ||
+ | A4, G4, A4, E4, C4, E4, A3, P, | ||
+ | A4, G4, A4, E4, C4, E4, A3, P, | ||
+ | A4, B4, C5, B4, C5, A4, B4, A4, B4, G4, A4, G4, A4, B4, C5, P, | ||
+ | E5, D5, E5, C5, G4, C5, E4, P, | ||
+ | E5, D5, E5, C5, G4, C5, E4, P, | ||
+ | E5, F5s, G5, F5s, G5, E5, F5s, E5, F5s, D5, E5, D5, E5, C5, E5, P | ||
+ | ] | ||
+ | |||
+ | dauer = 200 | ||
+ | i = 0 | ||
+ | |||
+ | while i < len(popcorn): | ||
+ | if popcorn[i] == 0: | ||
+ | delay(dauer) | ||
+ | else: | ||
+ | playTone(popcorn[i], | ||
+ | i = i + 1 | ||
</ | </ | ||
++++ | ++++ | ||
</ | </ |