Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
lehrkraefte:snr:informatik:glf22:python:funktionen [2022/11/17 20:31] Olaf Schnürer [Weitere Bemerkungen zu Funktionen (einiges wurde bereits in den Videos erklärt)] |
lehrkraefte:snr:informatik:glf22:python:funktionen [2022/11/29 12:10] (current) Olaf Schnürer [Bonus-Aufgabe: Funktionen zum Zeichnen einer Spirale und zum "unsichtbaren" Bewegen der Turtle] |
||
---|---|---|---|
Line 34: | Line 34: | ||
[[https:// | [[https:// | ||
+ | |||
+ | ---- | ||
Endzustand der Programme aus dem Video (mit kleinen sprachlichen Verbesserungen): | Endzustand der Programme aus dem Video (mit kleinen sprachlichen Verbesserungen): | ||
Line 163: | Line 165: | ||
* Danach kommt ein Doppelpunkt '':'' | * Danach kommt ein Doppelpunkt '':'' | ||
* Nun folgt in den nächsten Zeilen **eingerückt** der eigentliche Code der Funktion ("body of the function" | * Nun folgt in den nächsten Zeilen **eingerückt** der eigentliche Code der Funktion ("body of the function" | ||
- | * Wenn ein Rückgabewert zurückgeliefert werden soll((so, wie man das erwartet, wenn man an den Funktionsbegriff in der Mathematik denkt)): Verwende das Schlüsselwort '' | + | * Optional, wenn ein Rückgabewert zurückgeliefert werden soll((so, wie man das erwartet, wenn man an den Funktionsbegriff in der Mathematik denkt)): Verwende das Schlüsselwort '' |
Die Syntax ist also ähnlich wie bei '' | Die Syntax ist also ähnlich wie bei '' | ||
Line 235: | Line 237: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | * '' | ||
</ | </ | ||
Line 277: | Line 280: | ||
</ | </ | ||
+ | ===== Bonus-Aufgabe: | ||
+ | |||
+ | <WRAP center round todo> | ||
+ | {{: | ||
+ | |||
+ | Ergänze das folgende Programm um die Definition zweier Funktionen (um so das obige Bild zu zeichnen): | ||
+ | * Eine Funktion '' | ||
+ | * Eine Funktion '' | ||
+ | |||
+ | <code python vorlage-funktionen-spirale-und-bewege.py> | ||
+ | from turtle import * | ||
+ | |||
+ | def spirale(n, a, veraenderung, | ||
+ | # | ||
+ | # Ergänze hier den " | ||
+ | # also den Code, der eine Spirale abhängig | ||
+ | # von den obigen Parametern zeichnet. | ||
+ | # | ||
+ | |||
+ | # Ergänze hier die Definition der Funktion " | ||
+ | # Hinweis: Verwende die Funktion " | ||
+ | |||
+ | speed(0) | ||
+ | |||
+ | bewege_unsichtbar(200, | ||
+ | spirale(40, 10, 5, 90) | ||
+ | |||
+ | bewege_unsichtbar(-200, | ||
+ | spirale(30, 10, 5, 360/6) | ||
+ | |||
+ | bewege_unsichtbar(-200, | ||
+ | spirale(80, 1, 2, 61) | ||
+ | |||
+ | bewege_unsichtbar(200, | ||
+ | spirale(150, | ||
+ | |||
+ | exitonclick() | ||
+ | </ | ||
+ | |||
+ | <hidden Lösungsvorschlag> | ||
+ | <code python funktionen-spirale-und-bewege.py> | ||
+ | from turtle import * | ||
+ | |||
+ | def spirale(n, a, veraenderung, | ||
+ | for index in range(n): | ||
+ | forward(a + index * veraenderung) | ||
+ | left(winkel) | ||
+ | |||
+ | def bewege_unsichtbar(x, | ||
+ | penup() | ||
+ | setpos(x, y) | ||
+ | pendown() | ||
+ | |||
+ | speed(0) | ||
+ | |||
+ | bewege_unsichtbar(200, | ||
+ | spirale(40, 10, 5, 90) | ||
+ | |||
+ | bewege_unsichtbar(-200, | ||
+ | spirale(30, 10, 5, 360/6) | ||
+ | |||
+ | bewege_unsichtbar(-200, | ||
+ | spirale(80, 1, 2, 61) | ||
+ | |||
+ | bewege_unsichtbar(200, | ||
+ | spirale(150, | ||
+ | |||
+ | exitonclick() | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||