1. Einführung

1.3 Fallunterscheidungen

Welches künfige Guthaben sich bei einem Startguthaben, einem Zinssatz und einer Laufzeit ergibt, konnten wir mit der Formel

berechne_kuenftiges_guthaben (startguthaben, zins, jahre) = startguthaben * (1 + zins/100)^jahre
kompakt und geschlossen darstellen. Regeln in einer solchen geschlossenen Form darzustellen, gelingt aber in den meisten Fällen nicht. Oft brauchen wir Fallunterscheidungen. Ein klassisches Beispiel ist die Absolutwertfunktion aus der Mathematik: \begin{align*} {\rm abs} : \mathbb{R} & \rightarrow \mathbb{R} \\ x & \mapsto \begin{cases} x & \textnormal{ if $x \geq 0$} \\ -x & \textnormal{ else. } \end{cases} \end{align*}

Dann verstehen Sie wohl auch, was mit folgender Funktionsdefinition auf dem Aufruf gemeint ist:

abs(x) = if x >= 0 then x else -x                        
abs(-3)

Der Körper der Funktion ist if x >= 0 then x else -x. Dies ist auch ein Ausdruck. Halt keiner mit + und *, sondern einer mit if, then, else. Die Bedeutung sollte aber klar sein. Beachten Sie, dass nach then und else wiederum Ausdrücke stehen, die bei einem Aufruf ausgewertet werden müssen.

Übungsaufgabe Werten Sie den Funktionsaufruf abs(-3) auf, Schritt für Schritt, wie wir es im letzten Teilkapitel getan haben.

Die Ausdrücke nach if und else können natürlich selbst wiederum komplexer sein, also wiederum Funktionsaufrufe oder weitere if-Ausdrücke enthalten:

h(x) = if x <= -1 then -1 else (if x <= 1 then x else 1)

Zur Verdeutlichung hier der Graph dieser Funktion:

In mathematischer Notation schaut diese Verschachtelung schrecklich aus:

\begin{align} h : \mathbb{R} & \rightarrow \mathbb{R} \nonumber \\ x & \mapsto \begin{cases} -1 & \textnormal{ if $x \leq -1$} \\ \begin{cases} x & \textnormal{ if $x \leq 1$}\\ 1 & \textnormal{ else.} \end{cases} & \textnormal{else.} \end{cases} \label{h-nested-cases} \end{align}

Es würde auch kaum jemand diese Notation verwenden. Eher würde man feststellen, dass es sich um drei Fälle handelt, je nachdem, ob \(x \leq -1\) oder \(-1 \lt x \leq x\) oder \(1 \lt x\). Man würde also eine Fallunterscheidung mit drei Fällen machen:

\begin{align} h : \mathbb{R} & \rightarrow \mathbb{R} \nonumber \\ x & \mapsto \begin{cases} -1 & \textnormal{ if $x \leq -1$,} \\ x & \textnormal{ if $-1 \lt x \leq 1$,}\\ 1 & \textnormal{ if $1 \lt x$.} \end{cases} \label{h-three-cases} \end{align}
Übungsaufgabe Werten Sie den Ausdruck h(2) aus, Schritt für Schritt wie gehabt.

Tip. Gehen Sie streng nach Rezept vor. Ersetzen Sie im Körper von h den Parameter x durch den Wert 2, auch wenn das Ergebnis Ihrer Meinung nach seltsam aussieht.

Übungsaufgabe Skizzieren Sie den Graphen der Funktion \(h\) im Interval \([-3,3]\).