Читать книгу Algorithmen und Datenstrukturen - Gunter Saake - Страница 70
На сайте Литреса книга снята с продажи.
Beispiel 3.4 Rekursive Funktionsdefinition
ОглавлениеEin Beispiel für eine Rekursion zeigt folgende Definition:
| f(x, y) | = | if x = 0 then y else ( |
| if x > 0 then f(x − 1, y) + 1 else −f (−x, −y) fi) fi |
Die bisherige Auswertungsstrategie kann auf rekursive Funktionsdefinitionen ebenfalls angewandt werden, so dass wir folgende Auswertungen erhalten:
| f(0, y) | y für alle y | |
| f (1, y) | f (0, y) + 1 y + 1 | |
| f(2, y) | f (1, y) + 1 (y + 1) + 1 y + 2 | |
| … | ||
| f(n, y) | y + n für alle n ∊ int, n > 0 | |
| f(−1, y) | −f (1, −y) −(1− y) y − 1 | |
| … | ||
| f(x, y) | x + y für alle x, y ∊ int |
Unsere rekursive Definition realisiert also die Addition nur mithilfe der Successor-Funktion »+1«.