Funktionen – Code organisieren und wiederverwenden

lock
Bevorstehend

Lernen Sie, eigene Funktionen zu schreiben, um Code übersichtlich und wiederverwendbar zu machen. Mit Parametern und Rückgabewerten werden Ihre Programme flexibler und professioneller.

Ziele dieses Moduls
  • Sie können erklären, was eine Funktion ist und warum sie nützlich ist.
    Verstehen
  • Sie können eigene Funktionen definieren und mit Parametern aufrufen.
    Anwenden
  • Sie können analysieren, wann der Einsatz einer Funktion sinnvoll ist.
    Analysieren
  • Sie entwickeln strukturierte Turtle-Programme mit mehreren Funktionen.
    Kreieren

Bisher haben Sie Programme geschrieben, die Befehle nacheinander ausführen. Je größer ein Programm wird, desto wichtiger ist es, Wiederholungen zu vermeiden und Teilaufgaben klar zu strukturieren.

Funktionen sind wie kleine Unterprogramme: Sie führen eine bestimmte Aufgabe aus und können beliebig oft aufgerufen werden. Das macht Code lesbarer, wartbarer und flexibler.

In diesem Modul lernen Sie:

  • Funktionen zu definieren und aufzurufen
  • Mit Parametern Funktionen flexibel zu gestalten
  • Mit Rückgabewerten Ergebnisse zu liefern
  • Turtle-Formen als Funktionen zu programmieren

Was sind Funktionen?

Eine Funktion ist ein benannter Codeblock, der eine bestimmte Aufgabe erledigt. Statt denselben Code mehrmals zu schreiben, definieren Sie ihn einmal und rufen ihn bei Bedarf auf.

Beispiel ohne Funktion:

turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)

Beispiel mit Funktion:

def quadrat():
    for i in range(4):
        turtle.forward(100)
        turtle.left(90)

quadrat()  # Zeichnet ein Quadrat
quadrat()  # Noch ein Quadrat

Vorteile: Weniger Code, besser lesbar, leichter zu ändern!

Funktionen definieren und aufrufen

Eine Funktion wird mit def definiert:

def funktionsname():
    # Hier steht der Code
    print("Hallo aus der Funktion!")

Aufrufen:

funktionsname()  # Führt die Funktion aus

Wichtig: Eine Funktion wird erst ausgeführt, wenn Sie sie aufrufen!

Parameter – Funktionen flexibel machen

Mit Parametern können Sie Funktionen Werte übergeben:

def quadrat(seitenlaenge):
    for i in range(4):
        turtle.forward(seitenlaenge)
        turtle.left(90)

quadrat(50)   # Kleines Quadrat
quadrat(150)  # Großes Quadrat

Sie können auch mehrere Parameter verwenden:

def rechteck(breite, hoehe):
    for i in range(2):
        turtle.forward(breite)
        turtle.left(90)
        turtle.forward(hoehe)
        turtle.left(90)

rechteck(100, 50)

Rückgabewerte – Ergebnisse liefern

Funktionen können mit return ein Ergebnis zurückgeben:

def addiere(a, b):
    return a + b

ergebnis = addiere(5, 3)
print(ergebnis)  # 8

Beispiel mit Turtle: Berechnen Sie die optimale Seitenlänge für ein Vieleck basierend auf der Bildschirmgröße:

def berechne_seitenlaenge(seiten, max_radius):
    import math
    return 2 * max_radius * math.sin(math.pi / seiten)

laenge = berechne_seitenlaenge(6, 100)
print(f"Seitenlänge: {laenge:.2f} Pixel")

Challenge

📝 Aufgabe 1: Stern-Funktion

Schreiben Sie eine Funktion stern(groesse), die einen fünfzackigen Stern zeichnet.

Hinweise:

  • Ein Stern besteht aus 5 Spitzen
  • Drehwinkel: 144° (nicht 72°!)
  • Parameter groesse bestimmt die Länge jeder Linie
def stern(groesse):
    # Ihr Code hier
    pass

stern(100)

Challenge

📝 Aufgabe 2: Farb-Funktion

Erweitern Sie die Stern-Funktion, sodass Sie auch die Farbe als Parameter übergeben können:

def bunter_stern(groesse, farbe):
    # Ihr Code hier
    pass

bunter_stern(100, "red")
turtle.penup()
turtle.goto(150, 0)
turtle.pendown()
bunter_stern(80, "blue")

Challenge

📝 Aufgabe 3: Muster-Programm

Schreiben Sie ein Programm, das mit mehreren Funktionen ein geometrisches Muster zeichnet.

Anforderungen:

  • Mindestens 3 verschiedene Funktionen (z.B. quadrat(), kreis(), stern())
  • Jede Funktion hat mindestens einen Parameter
  • Das Muster verwendet for-Schleifen, um Formen zu wiederholen
  • Bonus: Verwenden Sie Farben und Position (turtle.goto())

Checklist

0/5

🎯 Zusammenfassung

Sie haben gelernt:

  • ✅ Funktionen zu definieren (def) und aufzurufen
  • ✅ Mit Parametern Funktionen flexibel zu gestalten
  • ✅ Mit return Ergebnisse zurückzugeben
  • ✅ Code zu strukturieren und wiederverwendbar zu machen

Nächster Schritt: Mit Funktionen können Sie nun komplexere Programme bauen. Im nächsten Modul lernen Sie, wie Sie Fehler behandeln und robuste Programme schreiben.