Logo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

Fachkonzept - Funktion

Funktion als Verarbeitungseinheit

Eine Funktion ist eine Verarbeitungseinheit, die übergebene Daten verarbeitet und den berechneten Funktionswert als Ergebnis zurückgibt.

Als Beispiel betrachten wir eine Funktion, die aus den Daten eines Quaders (d.h. Länge, Breite und Höhe) die Mantelfläche bestimmt.

Mantel eines Quaders

Das Verhalten der Funktion lässt sich gut mit einem Black-Box-Diagramm verdeutlichen.

<Black-Box-Diagramm><Funktionsname>mantelflaecheQuader</Funktionsname><Übergaben><Übergabe><Wert>3.0</Wert><Variable>laenge</Variable></Übergabe><Übergabe><Wert>2.5</Wert><Variable>breite</Variable></Übergabe><Übergabe><Wert>0.8</Wert><Variable>hoehe</Variable></Übergabe></Übergaben><Rückgabe><Text>return</Text><Wert>8.0</Wert></Rückgabe></Black-Box-Diagramm>

Wenn man der Verarbeitungseinheit die Daten für Länge, Breite und Höhe übergibt, dann berechnet sie den Flächeninhalt des Quadermantels.

Die Verarbeitungsvorschrift, nach der die Funktion den Flächeninhalt berechnet, ist recht einfach:

Übergabe: laenge, breite, hoehe 
Rückgabe: (2*laenge + 2*breite) * hoehe

Am Beispiel lassen sich die Bestandteile einer Funktion erkennen:

Verdeutlichung der Begriffe am Black-Box-Diagramm

Eine ausführbare Verarbeitungseinheit erhält man, indem man eine Funktion in einer Programmiersprache implementiert. Hierzu muss man zunächst eine Funktionsdefinition (als Programmeinheit) erstellen.

Im Fall der Funktion mantelflaecheQuader könnte die Funktionsdefinition in Python wie folgt aussehen:

def mantelflaecheQuader(laenge, breite, hoehe):
    return (2*laenge + 2*breite) * hoehe

Mit einem Funktionsaufruf wird die Verarbeitungseinheit dann aktiviert, so dass sie für übergebene Daten jeweils eine Rückgabe erzeugt. In Python kann eine solche Aktivierung direkt im Ausführfenster erfolgen:

>>> mantelflaecheQuader(3.0, 2.5, 0.8)
8.8
>>> mantelflaecheQuader(7.5, 4.2, 0.2)
4.68

Funktionsdefinition in Python

Betrachte als Beispiel die Definition der Funktion mantelflaecheQuader.

def mantelflaecheQuader(laenge, breite, hoehe):
    return (2*laenge + 2*breite) * hoehe

Eine Funktionsdefinition besteht aus zwei Teilen, einem Funktionskopf und einem Funktionskörper.

Der Funktionskopf beginnt mit dem Schlüsselwort def. Es folgt der Funktionsname und in Klammern die Auflistung der Parameter. Den Abschluss bildet der Doppelpunkt.

Der Funktionsrumpf dient zur Berechnung des Funktionswerts. Mit einer return-Anweisung wird der zurückzuliefernde Funktionswert festgelegt. Beachte, dass die Berechnungen selbst - wie das in Python üblich ist - eingerückt werden.

X

Fehler melden

X

Suche