i

Fachkonzept - Funktion

Was ist eine Funktion?

Der zentrale Baustein eines funktionalen Programmes ist, wie der Name des Programmierstils bereits verrät, die Funktion. Ein funktionales Programm besteht dabei aus beliebig vielen, geschickt miteinander kombinierten, Funktionen. Deswegen müssen wir beim Modellieren des Programmes auch in Funktionen denken. Bevor wir das können müssen wir uns also ersteinmal die Frage stellen: "Was verstehen wir eigentlich unter einer Funktion?"

Funktionen kennst du zum einen bereits aus der Mathematik. Möchten wir beispielsweise den Flächeninhalt eines Quaders berechnen, so wissen wir, dass wir diesen wie folgt berechnen können:
$\text{Flächeninhalt} = \text{Länge} * \text{Breite}$
Das ganze können wir auch etwas abstrakter formulieren als:
$f(x\ y) = x * y$

Die Funktion $f$ bestimmt also für einen $x$- und $y$-Wert den Flächeninhalt. Legen wir nun beispielsweise fest, dass $x=12.5$ und $y=2$ so erhalten wir: $f(x\ y) = 25$.
Das klingt ersteinmal trivial. Ist aber genau die Definition die wir brauchen.

Für die (funktionale) Programmierung verfeinern wir nun nur noch etwas die Wortwahl. Die Daten die wir einer Funktion übergeben (im Beispiel die $x=12.5$ und $y=2$) nennen wir Übergabedaten. Die Funktion nimmt diese Übergabedaten, verarbeitet diese und gibt uns neue Daten zurück, die Rückgabedaten (im Beispiel $x*y=25$).

Eine Funktion ist eine Verarbeitungseinheit. Sie erhält Übergabedaten und verarbeitet diese zu Rückgabedaten.

Funktionen in anderen Programmiersprachen

Wenn du schon etwas Programmiererfahrung hat kennst du den Begriff Funktionen vielleicht auch schon aus einer Programmiersprache. So können wir die mathematische Funktion in Python und Java beispielsweise wie folgt umsetzen:


#Funktion zur Flaeacheninhaltsberechnung in Python
def flaecheninhalt(laenge, breite):
    flaecheninhalt = laenge*breite
    return flaecheninhalt
    

//Funktion zur Flaeacheninhaltsberechnung in Java
public static float flaecheninhalt(float laenge, float breite){
    float flaecheninhalt = laenge*breite;
    return flaecheninhalt;
}        
Auch hier haben wir das Prinzip der Übergabedaten mit: laenge, breite, die wir zu Rückgabedaten flacheninhalt verarbeiten.

Suche

v
100.137.1.1.1
https://inf-schule.de/entwuerfe/racket/einfuehrung/modellierung_funktional/konzept_funktion
https://inf-schule.de/100.137.1.1.1
https://inf-schule.de/@/page/eQK5AMMOFuxMFfsN

Rückmeldung geben