Читать книгу Algorithmen und Datenstrukturen - Gunter Saake - Страница 67

Beispiel 3.2 Funktionsaufrufe

Оглавление

In Erweiterung des Beispiels 3.1 führen wir einige Aufrufe und die resultierenden Ergebnisse auf:

f(p, q, x, y) =if pq then 2x + 1 else 3y − 1 fiDie resultierende Funktion hat die folgende Signatur:f : bool × bool × int × int → intDer Aufruf f (true, true, 3, 4) wird zu 7 ausgewertet.

g(x) =if even(x) then x ÷ 2 else 3x − 1 fiDie resultierende Funktion hat die folgende Signatur:g : int → intDie Ergebnisse zweier Aufrufe lauten:g(2) = 1, g(3) = 8Beim ersten Aufruf g (2) wurde dabei folgender Term ausgewertet:if even(2) then 2 ÷ 2 else 3 · 2 − 1 fi

h(p, q) =if p then q else false fi definiert eine boolesche Funktion mit zwei Parametern:h: bool × bool → boolDie Beispielauswertung h(false, false) = false gibt uns einen Hinweis auf die Semantik der neu definierten Funktion: h(p, q) = pq, unser Beispiel realisiert das logische Und nur mithilfe der Implikation und der Konstanten false.


Algorithmen und Datenstrukturen

Подняться наверх