lehrkraefte:snr:informatik:glf22:python:funktionen

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
lehrkraefte:snr:informatik:glf22:python:funktionen [2022/11/17 20:32]
Olaf Schnürer [Definition von Funktionen (wurde in den Videos bereits 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 237: Line 237:
   * ''setposition(-100, 50)'' bewegt die Turtle auf den Punkt $(-100, 50)$. (Kürzer hat ''setpos(-100, 50)'' denselben Effekt.)   * ''setposition(-100, 50)'' bewegt die Turtle auf den Punkt $(-100, 50)$. (Kürzer hat ''setpos(-100, 50)'' denselben Effekt.)
   * ''setheading(45)'' dreht man die Turtle so, dass ihre Blickrichtung zur positiven $x$-Achse einen Winkel von $45^\circ$ bildet bildet (in mathematisch positivem Drehsinn, also dem Gegenuhrzeigersinn), die Turtle schaut also nach rechts oben. (Kürzer hat ''seth(45)'' denselben Effekt.)   * ''setheading(45)'' dreht man die Turtle so, dass ihre Blickrichtung zur positiven $x$-Achse einen Winkel von $45^\circ$ bildet bildet (in mathematisch positivem Drehsinn, also dem Gegenuhrzeigersinn), die Turtle schaut also nach rechts oben. (Kürzer hat ''seth(45)'' denselben Effekt.)
 +  * ''home()'' bewegt die Turtle in die Start-Position.
 </WRAP> </WRAP>
  
Line 279: Line 280:
 </WRAP> </WRAP>
  
 +===== Bonus-Aufgabe: Funktionen zum Zeichnen einer Spirale und zum "unsichtbaren" Bewegen der Turtle =====
 +
 +<WRAP center round todo>
 +{{:lehrkraefte:snr:informatik:glf22:python:vier-spiralen.png?300|}}
 +
 +Ergänze das folgende Programm um die Definition zweier Funktionen (um so das obige Bild zu zeichnen):
 +  * Eine Funktion ''spirale'' mit vier Parametern: Der Funktionsaufruf ''spirale(80, 1, 2, 61)'' soll eine Spirale aus 80 Segmenten mit Anfangslänge 1, Veränderung 2 und Abbiegewinkel 61 zeichnen (also die leicht verdrehte hexagonale Spirale im obigen Screenshot).
 +  * Eine Funktion '' bewege_unsichtbar'' mit zwei Parametern: Der Funktionsaufruf ''bewege_unsichtbar(-200, 200)'' soll die Turtle ohne zu zeichnen auf die Position (-200, 200) bewegen.
 +
 +<code python vorlage-funktionen-spirale-und-bewege.py>
 +from turtle import * 
 +
 +def spirale(n, a, veraenderung, winkel):
 +#
 +# Ergänze hier den "Funktionsrumpf" der Funktion "spirale",
 +# also den Code, der eine Spirale abhängig
 +# von den obigen Parametern zeichnet.
 +#
 +
 +# Ergänze hier die Definition der Funktion "bewege_unsichtbar".
 +# Hinweis: Verwende die Funktion "setpos(x,y)".
 +
 +speed(0)
 +
 +bewege_unsichtbar(200, 200)
 +spirale(40, 10, 5, 90)
 +
 +bewege_unsichtbar(-200, 200)
 +spirale(30, 10, 5, 360/6)
 +
 +bewege_unsichtbar(-200, -200)
 +spirale(80, 1, 2, 61)
 +
 +bewege_unsichtbar(200, -200)
 +spirale(150, 1, 0.3, 360/20)
 +
 +exitonclick()
 +</code>
 +
 +<hidden Lösungsvorschlag>
 +<code python funktionen-spirale-und-bewege.py>
 +from turtle import * 
 +
 +def spirale(n, a, veraenderung, winkel):
 +    for index in range(n):
 +        forward(a + index * veraenderung)
 +        left(winkel)
 +
 +def bewege_unsichtbar(x, y):
 +    penup()
 +    setpos(x, y)
 +    pendown()
 +
 +speed(0)
 +
 +bewege_unsichtbar(200, 200)
 +spirale(40, 10, 5, 90)
 +
 +bewege_unsichtbar(-200, 200)
 +spirale(30, 10, 5, 360/6)
 +
 +bewege_unsichtbar(-200, -200)
 +spirale(80, 1, 2, 61)
 +
 +bewege_unsichtbar(200, -200)
 +spirale(150, 1, 0.3, 360/20)
 +
 +exitonclick()
 +</code>
 +</hidden>
 +</WRAP>
  
  
  • lehrkraefte/snr/informatik/glf22/python/funktionen.1668713565.txt.gz
  • Last modified: 2022/11/17 20:32
  • by Olaf Schnürer