Funktionen
Wir wollen die Trennung von Daten und Programmen noch ein wenig weiter vorantreiben. Dazu müssen wir die Verarbeitungsvorschrift, also das eigentliche Programm, noch mehr von den Daten trennen. Wir packen sie einfach in eine Funktion. Eine Funktion ist eine in sich geschlossene Menge von Programmanweisungen. Im Folgenden wollen wir uns an dieses Muster halten:
Schema für eine Funktionsdeklaration:
function <funktionsname>(<parameter>, <parameter>, ...){
var ergebnis = <em>mathematischer Ausdruck</em>;
<strong>return</strong> ergebnis;
}</parameter></parameter></funktionsname>Schema für einen Funktionsaufruf:
<funktionsname>(<wert f parameter>, <wert f parameter>, ...);</wert></wert></funktionsname>
Vorteile von Funktionen:
- Einmal programmiert, können Funktionen an beliebigen Stellen beliebig oft mit verschiedenen Eingabedaten aufgerufen werden. Die Berechnungsvorschrift muss nicht jedes Mal neu definiert werden.
- Nach außen ist nur der Funktionsname sichtbar, während die Verarbeitungsvorschrift in der Funktion versteckt bleibt. Die Verarbeitungsvorschrift kann also nachträglich erweitert oder verbessert werden, ohne dass dies bei der Verwendung, d.h. beim Aufruf der Funktion bemerkt wird.
Beispiel
Es soll eine Funktion nach folgender Vorschrift entwickelt werden:
summe(a,b)=a+bErklärung
- Eine Funktion kann beliebig viele Parameter besitzen. Die Funktion summe besitzt z.B. die Parameter a und b. Sie repräsentieren die Eingabedaten.
- Bei der Verwendung, d.h. beim Aufruf der Funktion müssen für die Parameter konkrete Werte eingesetzt werden. Im oberen Beispiel wird für Parameter a der Wert 5 und für Parameter b der Wert 7 eingesetzt.
- In der Funktion wird mit den Werten eine Berechnung durchgeführt (z.B. 5+7). Das Ergebnis wird mit return an den Aufrufer der Funktion zurückgegeben.
Der Name der Funktion, die Namen der Parameter und die Namen der Variablen innerhalb der Funktion können frei gewählt werden.
Ergänzen Sie direkt unter dem Aufruf summe(5,7) mindestens drei weitere Aufrufe mit anderen Werten für a und b!
Aufgaben
Entwickeln Sie eine Funktion bmi zur Berechnung des Body-Mass-Index. Die Funktion soll die Parameter gewicht und groesse besitzen. Rufen Sie die Funktion mit beispielhaften Eingabedaten dreimal auf.
bmi(gewicht,groesse)=\frac{gewicht}{groesse^2}Entwickeln Sie die folgenden Funktionen. Rufen Sie jede Funktion zweimal auf.
f(x)=x^5Entwickeln Sie eine Funktion zur Berechnung des Kreisumfangs:
kreisumfang(r)=2*\Pi*rZusatzaufgabe
Mit der Formel von Heron kann der Flächeninhalt A eines Dreiecks berechnet werden, wenn die Seitenlängen a, b und c bekannt sind. Die Formel lautet A=\sqrt{s*(s-a)*(s-b)*(s-c)}, wobei gilt: s=\frac{a+b+c}{2}. Entwickeln Sie eine Funktion zur Berechnung des Flächeninhaltes nach dieser Formel. Die Funktion soll die drei Seitenlängen als Parameter entgegennehmen.
Innerhalb einer Funktion dürfen beliebig viele Hilfsvariablen verwendet werden. Berechnen Sie in der Funktion zunächst den Wert der Variable s!
Zusatzaufgabe
Entwickeln Sie zwei Funktionen: eine, die Euro (EUR) in Zloty (PLN) umrechnet und eine, die umgekehrt arbeitet.
Wechselkurs: 1 EUR = 4,3066 PLN