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:
Hier können Sie "meine" Lösung sehen.
(3 + (4 * 5))^2
(3 + (4 * 5))^2
(3 + (4 * 5)) * (3 + (4 * 5))
(3 + (4 * 5)) * (3 + (4 * 5))
(3 + 20) * (3 + (4 * 5))
(3 + 20) * (3 + (4 * 5))
23 * (3 + (4 * 5))
23 * (3 + (4 * 5))
23 * 3 + 23 * (4 * 5))
23 * 3 + 23 * (4 * 5))
23 * 3 + 23 * 20
23 * 3 + 23 * 20
23 * 3 + 460
23 * 3 + 460
69 + 460
69 + 460
529
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:
zinssatz_in_prozent = 5
startguthaben = 3198
zeit_in_jahren = 20
startguthaben * (1 + zinssatz_in_prozent/100)^zeit_in_jahren
Nun führe ich ein weiteres Konzept ein. Bevor ich es Ihnen erkläre, lass ich Sie einfach mal rumrätseln:
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.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)
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}