Funktionen

Aus ProgrammingWiki
Archivierte Version vom 2017-03-08T20:35:33+00:00. Aktuelle Version

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 abkapseln. 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:

Funktionsdeklaration:

function <funktionsname>(<parametername>, <parametername>, ...){
    var <variablenname> = <em>Berechnungsvorschrift zur Verarbeitung der Parameter</em>;
    <strong>return</strong> <variablenname>;
}</variablenname></variablenname></parametername></parametername></funktionsname>

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 Werten aufgerufen werden. Die Berechnungsvorschrift muss nicht jedes Mal neu definiert werden.
  • Nach außen ist nur der Funktionsname sichtbar, während die Berechnungsvorschrift in der Funktion versteckt bleibt. Die Berechnungsvorschrift kann also nachträglich erweitert oder verbessert werden, ohne dass dies bei der Verwendung, d.h. beim Aufruf der Funktion bemerkt wird.


Beispiel:


Der Aufbau der Funktion weist einige Ähnlichkeiten zu unserer Vorgehensweise im Arbeitsblatt "Variablen" auf, denn bei der Berechnung des mathematischen Ausdrucks werden keine konkreten Zahlen, sondern Variablen eingesetzt. In unserem Fall heißen die Variablen Parameter, da ihre Werte von außen (d.h. beim Funktionsaufruf) an die Funktion übergeben werden.

Mit der Anweisung return wird das berechnete Ergebnis an den Aufrufer der Funktion zurückgegeben. Eine Funktion gehorcht also dem Prinzip Eingabe, Verarbeitung und Ausgabe, welches bei allen Programmen anzutreffen ist: In der Funktion "addiere" entspricht Zeile 1 der Eingabe, Zeile 3 der Verarbeitung und Zeile 5 der Ausgabe.

Die Namen der Funktion, der Parameter und der Ergebnisvariable können von uns beliebig gewählt werden.


Aufgaben

Entwickeln Sie eine Funktion zur Berechnung des Body-Mass-Index in der ersten Code-Box. Wandeln Sie die Variablen für Körpergewicht und Körpergröße in Eingabeparameter um. Rufen Sie die Funktion in der zweiten Code-Box mit beispielhaften Eingabedaten auf.

Körpergewicht in Kilogramm geteilt durch Körpergröße in Metern zum Quadrat
\frac{Gewicht}{Größe^2}


Entwickeln Sie Funktionen für die restlichen Berechnungen aus dem Arbeitsblatt "Variablen" (Teil 2). Wandeln Sie die verwendeten Variablen in Eingabeparameter um. Rufen Sie die Funktionen jeweils in der zweiten Code-Box mit beispielhaften Eingabedaten auf.

Beispiel (Werte, für die Parameter benötigt werden, stehen in Klammern):

7^5 (7)


3+4 (3)


3+4 (3, 4)


8-(5+7)^5 (5, 7)


8-\sqrt{5+7}^5 (8,5,7)


tan(10) (10)


Das Maximum zwischen 50 und 100 (50, 100)


Entwickeln Sie eine Funktion zur Berechnung des Kreisumfangs. Verwenden Sie den Radius r als Parameter.


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.

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