Informatik

Funktionen mit Parametern

Deine Funktion baum zeichnet bisher immer genau denselben Baum. Schöner wäre es, wenn man beim Aufruf sagen könnte, wie hoch er sein soll.

Genau das leisten Parameter.

Aufgabe 1: Der Baum bekommt eine Höhe

a) Analysiere zunächst das folgende Beispiel und erläutere die Neuerungen gegenüber der letzten Lektion.

b) Modifiziere das Beispiel so, dass auch die anderen Funktionen – einschließlich deiner eigenen – jeweils einen Parameter verwenden.

Ein kleiner Baum, ein Haus und ein großer Baum


      
    
from turtle import * shape("turtle") screensize(860, 500) speed(0) # Funktion für den Baum - jetzt mit Parameter def baum(hoehe): pensize(40) pencolor("brown") pendown() forward(hoehe) pencolor("green") dot(100) penup() backward(hoehe) def haus(): pensize(2) pencolor("black") pendown() forward(100) right(90) fillcolor("red") begin_fill() forward(100) left(135) forward(71) left(90) forward(71) end_fill() left(90) forward(141) left(135) forward(100) left(135) forward(141) left(135) forward(100) penup() backward(100) left(90) def abstand(): right(90) forward(190) left(90) # Hauptprogramm penup() goto(-350, -200) left(90) baum(120) abstand() haus() abstand() baum(180)
  • Ein Parameter ist eine Variable, die beim Aufruf einen Wert bekommt: def baum(hoehe):
  • Der Wert, den du beim Aufruf einsetzt, heißt Argument: baum(120)
  • Innerhalb der Funktion verwendest du den Parameter wie jede andere Variable.
  • Eine Funktion kann mehrere Parameter haben. Sie werden durch Kommas getrennt: def baum(hoehe, farbe):
  • Beim Aufruf zählt die Reihenfolge: Das erste Argument landet im ersten Parameter.
Tipp zu b): Was bietet sich an?

Sinnvolle Parameter wären:

  • haus(breite) – ein Haus in wählbarer Größe,
  • abstand(weite) – ein wählbarer Abstand,
  • wolke(groesse) – eine wählbare Wolkengröße.

Achte bei haus darauf, dass die schrägen Strecken mitwachsen müssen. Für die Diagonale gilt etwa breite * 1.41, für die Dachschenkel breite * 0.71.

Aufgabe 2: Mehrere Parameter

Erweitere die Funktion baum so, dass man zwei Dinge angeben kann: die Höhe des Stamms und die Farbe der Krone.

Zeichne damit eine Baumreihe aus mindestens fünf verschiedenen Bäumen.


      
    
from turtle import * shape("turtle") screensize(800, 400) speed(0) def baum(hoehe, kronenfarbe): # Dein Code hier pass # Hauptprogramm penup() goto(-330, -150) left(90) baum(100, "green")
Lösung. Erfrage das Passwort bei deiner Lehrkraft.

Aufgabe 3: Bekannte Funktionen einordnen

Ohne die Fachbegriffe zu verwenden, hast du längst Funktionen mit und ohne Parameter benutzt.

Nenne für beides jeweils mindestens drei Beispiele aus den bisherigen Lektionen.

Auflösung

Mit Parameter: forward(100), right(90), dot(20), pencolor("red"), pensize(10), goto(0, 0), print(x), range(4)

Ohne Parameter: penup(), pendown(), begin_fill(), end_fill(), home(), hideturtle()

Bei goto(0, 0) sind es sogar zwei Parameter, bei screensize(400, 300) ebenfalls.

Aufgabe 4: Ein Vieleck als Funktion

Schreibe eine Funktion vieleck(ecken, seite), die ein regelmäßiges Vieleck mit der angegebenen Eckenzahl und Seitenlänge zeichnet.

Zeichne damit anschließend ein Dreieck, ein Sechseck und ein Zwölfeck an verschiedenen Stellen.


      
    
from turtle import * shape("turtle") screensize(600, 400) speed(0) def vieleck(ecken, seite): # Dein Code hier pass # Hauptprogramm penup() goto(-200, 0) pendown() vieleck(3, 60)
Tipp

Den Kern kennst du schon aus Kapitel 1 – jetzt stehen statt fester Zahlen die Parameter darin:

def vieleck(ecken, seite):
    winkel = 360 / ecken
    for i in range(ecken):
        forward(seite)
        left(winkel)
Lösung. Erfrage das Passwort bei deiner Lehrkraft.

Selbsttest

Funktionen mit Parametern

Teilbare URL erstellen

Abschnitte auswählen