MINT üben

Eine eigene Funktion

Dreißig Übungen zu Funktionen — von def und Aufruf über Reihenfolge und Namen bis zur Frage, wann sich eine Funktion lohnt.

Dein Fortschritt:
0 / 0 Aufgaben
1

Übungsaufgaben

Dreißig Übungen in gemischter Reihenfolge — du klickst, ziehst, ordnest, rechnest und knobelst. Jede Übung gibt dir sofort eine Rückmeldung, und zu jeder Aufgabe gibt es zwei gestufte Tipps: Der erste zeigt die Richtung, der zweite den entscheidenden Schritt. Die Chips zeigen das Anforderungsniveau: AFB I heißt wiedergeben und direkt anwenden, AFB II selbst entscheiden und verknüpfen, AFB III begründen, beurteilen oder eine Falle durchschauen. Aufgaben mit dem Chip Mix verbinden Wissen aus früheren Unterkapiteln, bei Trick steckt eine Falle drin. Fährst du über ein unterstrichenes Arbeitswort, siehst du, was es genau von dir verlangt.

A1
Was ändert sich im Programm?
AFB II

Interpretiere die drei Änderungen am Programm unten: Trage für jede Größe ein, ob sie steigt, sinkt oder gleich bleibt.

Python · quadrate.py
def quadrat():
    for i in range(4):
        forward(30)
        left(90)

quadrat()
quadrat()
quadrat()
Setze in jede Zelle einen Pfeil: ↑ steigt, ↓ sinkt, → bleibt gleich. Ein Klick dreht den Pfeil weiter; mit der Tastatur Tab zur Zelle, dann ↑, ↓ oder →. Unter der Tabelle steht deine Wahl als Satz.
Größe (Start: drei Aufrufe, forward(30))ein Aufruf mehrforward(60)ein Aufruf weniger
Zeilen im Programmtext
ausgeführte Befehle
Gesamtlänge der Linien
Zeilen der Definition

Ein Aufruf mehr oder weniger ändert Programmtext, Befehle und Länge. Eine längere Seite ändert nur die Länge. Die Definition bleibt immer gleich lang, denn sie steht nur einmal da.
Ansatz: Rechne für jede Änderung neu: Was ändert sich im Text, was beim Ausführen?
Weiter: Die Definition steht nur einmal im Programm, egal wie oft aufgerufen wird.
A2
Welche Strecke ist länger?
AFB II

Schätze in jedem Duell ab, welches Programmstück die längere Linie zeichnet. Die Funktion strich() macht nur forward(15).

Immer zwei Karten treten gegeneinander an: Klicke die Karte mit dem größeren Wert an — mit der Tastatur Tab bzw. ←/→ zur Karte, Enter wählt. Die Sieger rücken im Turnierbaum vor; „Duell zurück“ nimmt die letzte Entscheidung zurück. Erst „Turnier prüfen“ verrät, wie viele Duelle falsch entschieden sind — dann geht es mit einer neuen Auslosung weiter.

Jeder Aufruf zeichnet 15 Pixel: 3 · 15 = 45, 5 · 15 = 75, 8 · 15 = 120, 6 · 15 = 90, 10 · 15 = 150, 2 · 15 = 30 und 7 · 15 = 105. Bei D fehlen die Klammern — ohne sie wird die Funktion nicht aufgerufen, es entsteht keine Linie.
Ansatz: Zähle, wie oft strich() wirklich aufgerufen wird, und multipliziere mit 15.
Weiter: Ein Name ohne Klammern ruft die Funktion nicht auf.
A3
Funktion bauen
AFB I

Erstelle das Programm, in dem eine Funktion sonne einen gelben Punkt der Größe 40 setzt und anschließend aufgerufen wird. Lege die Bausteine in der richtigen Reihenfolge ab — nicht alle werden gebraucht.

Setze den Bauplan von links nach rechts zusammen. Ein Klick legt den Baustein auf den nächsten freien Platz, ein Klick im Bauplan legt ihn zurück. Enter funktioniert genauso.
Erst kommt der Funktionskopf mit Klammern und Doppelpunkt, darunter (eingerückt) der Körper mit dem Punkt, und am Ende der Aufruf mit Klammern. def sonne() ohne Doppelpunkt und sonne ohne Klammern sind falsch, die Farbe muss in Anführungszeichen stehen.
Ansatz: Zuerst wird die Funktion erklärt, danach wird sie benutzt.
Weiter: Der Aufruf braucht Klammern; der Kopf einen Doppelpunkt.