Kurs:Algorithmen und Datenstrukturen/Vorlesung/Auswertung von Funktionen

Aus testwiki
Zur Navigation springen Zur Suche springen

Vorlage:Navigationsleiste/Algorithmen und Datenstrukturen

Auswertung von Funktionen

In diesem Kapitel wird die Auswertung funktionaler Algorithmen behandelt.


  • Definierte Funktionen können mit konkreten Werten aufgerufen werden.
  • Wir wissen, dass eine definierte Funktion folgende Struktur hat f:T1*...*TnT
  • Sind nun a1,...,an konkrete Werte vom Typ T1,...,Tn, so ersetzt man in f(a1,...,an) jedes Vorkommen der Unbestimmten v1 mit a1(i=1,...,n). Somit kann der entstehende Term ausgewertet werden.
  • Dabei heißen die konkreten Werte a1,...,an aktuelle Parameter.
  • Ausdruck f(a1,...,an) heißt Funktionsaufruf.

Beispiel

  • f(p,q,x,y):=if(pq)then2x+1else3y1
    • Signatur:f:boolxboolxintxintint
    • Aufruf:f(true,true,3,4)wirdzu7
  • g(x):=ifeven(x)thenx/2else3x1
    • Signatur:g:intint
    • Aufruf:g(2)wirdzu1,g(9)wirdzu26ausgewertet
  • h(p,q):=ifpthenqelsefalse
    • Signatur:h:boolxboolbool
    • Aufruf:h(false,false)wirdausgewertetzufalse

Literatur

Da die Vorlesungsinhalte auf dem Buch Algorithmen und Datenstrukturen: Eine Einführung mit Java von Gunter Saake und Kai-Uwe Sattler aufbauen, empfiehlt sich dieses Buch um das hier vorgestellte Wissen zu vertiefen. Die auf dieser Seite behandelten Inhalte sind in Kapitel 3.2.3 zu finden.


R-0 Discussion R-3