1. Einführung

1.1 Ausdrücke vereinfachen

Ich will Sie an einem Punkt abholen, der Ihnen bekannt und vielleicht auch vertraut ist: das Auswerten von Ausdrücken, so wie Sie es aus der Mathematik kennen. Betrachten Sie zum Beispiel diesen Ausdruck:

(3 + (4 * 5))^2

Hier können Sie "meine" Lösung sehen.

Übungsaufgabe Vereinfachen Sie diesen Ausdruck, bis er am Ende zu einer einzigen Zahl geworden ist. Protokollieren Sie Ihre Schritte! Schreiben Sie nach jedem einzelnen Schritt den resultierenden Ausdruck hin!
Sie können den Ausdruck aber auch in einer anderen Reihenfolge auswerten:

Sind Sie überrascht, dass beide Reihenfolgen das gleiche Endergebnis liefern? Wohl kaum. Haben Sie bemerkt, dass die zweite Reihenfolge zu einer deutlich längere Kette von Ausdrücken geführt hat? Gut!

Sicher haben Sie auch schon gesehen, dass man Bezeichner einführt, sei es, um Platz zu sparen, sei es, um Dinge lesbarer zu machen:

stundenProTag = 24
minutenProStunde = 60
sekundenProMinute = 60 
stundenProTag * minutenProStunde * sekundenProMinute     

Sicherlich wissen Sie, was mit dem Ausdruck in Zeile 4 gemeint ist, und wie Sie ihn zu einer Zahl auswerten können. Die Bezeichner helfen uns, zu verstehen, was mit dieser bestimmten Zahl gemeint ist. Ein weiteres Beispiel:

Beispiel Wiederum definieren wir mehrere Bezeichner und schreiben dann einen Ausdruck.
zinssatz_in_prozent = 5                        
startguthaben = 3198
zeit_in_jahren = 20
startguthaben * (1 + zinssatz_in_prozent/100)^zeit_in_jahren 
Übungsaufgabe Versuchen Sie, den Ausdruck in Zeile 4 mit einem Taschenrechner (z.B. auf Ihrem Handy) auszuwerten. Gelingt Ihnen das? Warum oder warum nicht? Fehlt etwas?

Nun führe ich ein weiteres Konzept ein. Bevor ich es Ihnen erkläre, lass ich Sie einfach mal rumrätseln:

Übungsaufgabe Betrachten Sie folgenden "Code":
berechne_kuenftiges_guthaben (startguthaben, zins, jahre) = startguthaben * (1 + zins/100)^jahre    
berechne_kuenftiges_guthaben (1000, 0, 10)                         
berechne_kuenftiges_guthaben (2000, 50, 2)
berechne_kuenftiges_guthaben (3000, 25, 4)
Werten Sie die Ausdrücke in den Zeilen 2, 3, 4 aus. Falls Ihr Taschenrechner kein "hoch" kann, überlegen Sie sich zumindest, was die Ausdrücke bedeuten.

Beachten Sie, dass die Bezeichner wie guthaben in Übung 1.1.4 eine andere Rolle spielt als ein Beispiel 1.1.2: im Beispiel 1.1.2 ist guthaben einfach ein anderer Name für die Zahl 3198. In Übung 1.1.4 ist guthaben ein Platzhalter, der an sich noch keinen Wert hat. Erst in Zeilen 2, 3 und 4 wird er mit einem Wert gefüllt, und zwar jeweils mit anderen Werten. Der Vorteil liegt auf der Hand: die Rechenvorschrift berechne_kuenftiges_guthaben (startguthaben, zins, jahre) = startguthaben * (1 + zins/100)^jahre kann wiederverwendet werden. Wenn es überhaupt ein Paradigma gibt, dass sich durch alle Aspekte des Programmierens zieht, dann ist die Wiederverwendbarkeit.

Was wir in Zeile 1 von Übung 1.1.4 getan haben, kennen Sie aus der Mathematik: wir haben eine Funktion definiert. In der Schule sieht das typischerweise so aus:

\begin{align} f(x) = x^2 \label{f-naked} \end{align}