Funktionen

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

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 1>, <Parameter 2>, ...){
    var ergebnis = mathematischer Ausdruck;
    return ergebnis;
}

Schema für einen Funktionsaufruf:

<Funktionsname>(<Wert für Parameter 1>, <Wert für Parameter 2>, ...);


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+b$

Erklärung

  1. Eine Funktion kann beliebig viele Parameter besitzen. Die Funktion summe besitzt z.B. die Parameter a und b. Sie repräsentieren die Eingabedaten.
  2. 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.
  3. 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.

Ändern Sie die Werte für a und b und rufen Sie die Funktion erneut auf!


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 Parameterwerten zweimal auf.

$bmi(gewicht,groesse)=\frac{gewicht}{groesse^2}$


Entwickeln Sie die folgenden Funktionen. Rufen Sie jede Funktion einmal auf.

$f(x)=x^5$


$f2(a,b,c)=a-(b+c)^5$


$f3(x,y)=\Bigl|\sqrt{x^3+y^3}\Bigl|$


$f4(a,b)=max(a,b)$


Entwickeln Sie eine Funktion zur Berechnung des Kreisumfangs:

$kreisumfang(r)=2*\Pi*r$


Zusatzaufgabe

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 eine Funktion, die Euro (EUR) in Zloty (PLN) umrechnet.

Entwickeln Sie eine weitere Funktion, die Zloty in Euro umrechnet.

Wechselkurs: 1 EUR = 4,3066 PLN

Persönliche Werkzeuge