==== Aufgaben NA – Einfache Funktionen ohne Rückgabewerte ====
Die folgenden Aufgaben behandeln Funktionen mit und ohne Argumente – aber ohne Rückgabewerte.
Hier gehts zur Übersicht: [[gf_informatik:programmieren_iv_gra|]]
=== NA1 – Blumen ===
Schreibe eine Funktion namens ''blume()'', die die Turtle eine Blume wie im Bild unten zeichnen lässt. Rufe die Funktion dreimal auf. Verändere zwischen den Aufrufen die Position der Turtle, soass drei Blumen an unterschiedlichen Orten gezeichnet werden, siehe Bild:
{{:gf_informatik:programmieren_iv_gra:pasted:20250429-194213.png?200}}
Hinweis: Eine Blume wie im Bild kann aus sechs 30-px-Punkten (''dot'') auf einem Kreis (''rightArc'' oder ''leftArc'') mit Radius 20 gezeichnet werden.
=== NA2 – Bunte Blumen ===
Ändere die Funktion ''blume'' aus NA1 so, dass als Argument die Farbe der Blume übergeben werden kann. Rufe die Funktion viermal auf – jedesmal mit anderer Farbe. Verändere zwischen den Aufrufen die Position der Turtle, soass drei Blumen an unterschiedlichen Orten gezeichnet werden, siehe Bild:
{{:gf_informatik:programmieren_iv_gra:pasted:20250430-050227.png?220}}
=== NA3 – Blumenreihen ===
== Schritt 1 ==
Ändere die Funktion ''blume'' aus NA2 so, dass neben der Farbe auch die X- und die Y-Position der Blume übergeben werden kann: Also ''blume(color, xpos, ypos)''. Wenn du dann folgenden Code ergänzt, sollten sechs rote Blumen in einer Reihe (wie im Bild unten) gezeichnet werden:
x = 0
while x < 600:
blume("red", x, 0)
x = x + 100
{{:gf_informatik:programmieren_iv_gra:pasted:20250430-124125.png?300}}
== Schritt 2 ==
Lösche den vorhin ergänzten Code (die vier Zeilen mit der while-Schleife) und füge stattdessen folgende Codezeilen unterhalb deiner Funktion ''blume'' ein:
colors = ["orange", "purple", "blue", "crimson", "pink", "violet"]
xpositions = [0,55,105,145,200,225]
ypositions = [0,25,-10,25,50,10]
Schreibe einen möglichst kurzen Code mit while-Schleife, der sechs Blumen anhand der Werte in den drei Listen zeichnet. Es sollte folgendes Bild entstehen:
{{:gf_informatik:programmieren_iv_gra:pasted:20250502-074916.png?200}}
=== NA4 – Wer hat die schönste Blumenwiese? ===
Nutze deine Funktion ''blume'', der du Farbe, X- und Y-Position übergeben kannst. Erstelle ein Bild aus mindestens 20 zufällig angeordneten Blumen mit zufälliger Farbe – zum Beispiel wie das Bild rechts. Beachte folgende Hinweise:
* Die Hintergrundfarbe kannst du mit der Turtle-Funktion ''clear'' festlegen: z.B. ''flori.clear("gray")''.
* Die Farbcodes finden sich [[https://trinket.io/docs/colors|hier]]: Übernehme jeweils den ''Turtle name'' **ohne Abstände**.
* Erstelle eine Liste mit verschiedenen Farbnamen. Daraus wählst du später für jede Blume ein zufälliges Element.
* Wähle die x-Positionen im Bereich -250 bis 250, und die y-Positionen im Bereich -100 bis 100, sodass ein Bild im Breitformat entsteht.
* Mit der Funktion ''hideTurtle'' zeichnet deine Turtle sehr schnell.
{{:gf_informatik:programmieren_iv_gra:pasted:20250502-083126.png?300}}
**Wettbewerb: Sende dein schönstes Blumenbild via Teams der LP und nimm an der Wahl zur schönsten Blumenwiese teil!**
==== Lösungen ====
++++Lösungen zu Aufgaben NA:|
=== NA1 ===
from gturtle import *
flori = Turtle()
def blume():
flori.setPenColor("crimson")
i = 0
while i < 6:
flori.rightArc(20, 60)
flori.dot(30)
i = i + 1
blume()
flori.setPos(60,60)
blume()
flori.setPos(100,-20)
blume()
=== NA2 ===
from gturtle import *
flori = Turtle()
def blume(color):
flori.setPenColor(color)
i = 0
while i < 6:
flori.rightArc(20, 60)
flori.dot(30)
i = i + 1
blume("blue")
flori.setPos(60,60)
blume("violet")
flori.setPos(80,-20)
blume("orange")
flori.setPos(140, 30)
blume("purple")
=== NA3 – Schritt 1 ===
from gturtle import *
flori = Turtle()
def blume(color, xpos, ypos):
flori.setPenColor(color)
flori.setPos(xpos, ypos)
i = 0
while i < 6:
flori.rightArc(20, 60)
flori.dot(30)
i = i + 1
x = 0
while x < 600:
blume("red", x, 0)
x = x + 100
=== NA3 – Schritt 2 ===
from gturtle import *
flori = Turtle()
def blume(color, xpos, ypos):
flori.setPenColor(color)
flori.setPos(xpos, ypos)
i = 0
while i < 6:
flori.rightArc(20, 60)
flori.dot(30)
i = i + 1
colors = ["orange", "purple", "blue", "crimson", "pink", "violet", "yellow"]
xpositions = [0,55,105,145,200,225]
ypositions = [0,25,-10,25,50,10]
i = 0
while i < 6:
blume(colors[i], xpositions[i], ypositions[i])
i = i + 1
=== NA4 ===
from gturtle import *
flori = Turtle()
flori.hideTurtle()
flori.clear("seagreen")
def blume(color, xpos, ypos):
flori.setPenColor(color)
flori.setPos(xpos, ypos)
i = 0
while i < 6:
flori.rightArc(20, 60)
flori.dot(30)
i = i + 1
colors = ["orange", "purple", "pink", "crimson", "indigo", "violet", "magenta", "deeppink", "gold", "lightcoral"]
i = 0
while i < 20:
col_pos = random.randint(0,9)
blume(colors[col_pos], random.randint(-250,250), random.randint(-100,100))
i = i + 1
++++