MINT lernen

Eine eigene Funktion

Zwei Textaufgaben mit Hinweisen und Erwartungshorizont zu eigenen Funktionen.

Dein Fortschritt:
0 / 0 Aufgaben
1

Das Dorf

AFB I–II

Ein Programm zeichnet Häuser:

from turtle import *def haus():    for i in range(4):        forward(40)        left(90)    left(90)    forward(40)    right(30)    forward(40)    right(120)    forward(40)    left(60)haus()penup()home()forward(60)pendown()haus()
  1. Beschreibe, was die Funktion haus zeichnet.
  2. Gib an, wie viele Häuser entstehen und wo sie beginnen.
  3. Erkläre, warum vor dem zweiten Aufruf home() steht.

Hinweise

Hinweis zu Aufgabe a)
Zeichne die Befehle nach.
Hinweis zu Aufgabe b)
Zähle die Aufrufe.
Hinweis zu Aufgabe c)
Wo und in welche Richtung steht die Turtle nach dem ersten Haus?

Erwartungshorizont

Erwartungshorizont zu Aufgabe a)

Ein Quadrat mit Seitenlänge 40 und darauf ein gleichseitiges Dreieck als Dach.

Erwartungshorizont zu Aufgabe b)

Zwei Häuser: eines ab (0|0), eines ab (60|0).

Erwartungshorizont zu Aufgabe c)

Nach dem Dach steht die Turtle an der rechten oberen Hausecke (40|40). Ohne home() begänne das zweite Haus dort oben „in der Luft“. home() bringt sie zurück zum Start und dreht sie nach rechts; mit forward(60) steht das zweite Haus dann ordentlich daneben.

2

Mit oder ohne Funktion?

AFB II–III

Zwei Lösungen sollen vier Sterne zeichnen. Lösung A wiederholt die Stern-Schleife viermal im Programm, Lösung B definiert einmal stern() und ruft sie viermal auf.

  1. Vergleiche die Lösungen in Bezug auf Länge und Übersicht.
  2. Begründe, welche Lösung leichter zu ändern ist, wenn alle Sterne rot werden sollen.
  3. Nimm Stellung zu: „Funktionen lohnen sich erst bei großen Programmen.“

Hinweise

Hinweis zu Aufgabe a)
Zähle grob die Zeilen.
Hinweis zu Aufgabe b)
Was muss man in A ändern, was in B?
Hinweis zu Aufgabe c)
Ab wie vielen Wiederholungen lohnt es sich?

Erwartungshorizont

Erwartungshorizont zu Aufgabe a)

A wiederholt denselben Code viermal und ist lang; B ist kürzer und durch den Namen stern() leichter zu lesen.

Erwartungshorizont zu Aufgabe b)

In B genügt eine Änderung in der Funktion; in A muss man an vier Stellen ändern und kann leicht eine vergessen. B ist deshalb leichter zu pflegen.

Erwartungshorizont zu Aufgabe c)

Schon ab zwei gleichen Teilen spart eine Funktion Arbeit und Fehler. Außerdem gibt der Name dem Programmteil eine Bedeutung. Die Aussage stimmt also nur teilweise — auch kleine Programme profitieren.