BuK-Kreativaufgabe10 G2

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Loading

Aufgabenstellung

Entwickeln Sie einen Werkzeugkasten für primitiv rekursive Funktionen. Es wird erwartet, dass aus primitiv rekursiven (Basis-)Funktionen unter Verwendung der Kompositionstechniken (Substitution und primitive Rekursion) neue primitiv rekursive Funktionen generiert werden. Diese sollen verwendbar sein. Es wird nicht erwartet, dass ein universelles Beweisprogramm, das für eine gegebene Funktion konstruktiv nachweist, dass sie primitiv rekursiv ist, entwickelt wird.

Basisfunktionen

Zuerst definieren wir die Basisfunktionen.

Die Nullfunktion kann mit beliebig vielen Parametern aufgerufen werden.

Die Projektionsfunktion erwartet als ersten Parameter den Inde des zu ermittelnden Arguments und anschließend eine variable Anzahl von Argumenten.

Um spätere Beispiele einfacher zu gestalten, ist die Nutzung der konstanten Funktionen sinnvoll.

Als nächstes definieren wir die Substitution und die primitive Rekursion:

An Hand einiger Beispiele kann die Funktionsweise der beiden Prozeduren nachvollzogen werden. Als erstes betrachten wir die Potenzierung. Die beiden benötigten Prozeduren und werden wie folgt definiert:

Um nun aus diesen beiden Prozeduren die Potenzfunktion zu generieren wird die primitive Rekursion angewandt:

Möchte man lieber die Basis als erstes und die Potenz als zweites Argument übergeben, so kann durch Substitution eine Vertauschung der Parameter vorgenommen werden:

Ein weiteres Beispiel ist die Fakultätsfunktion:

Monusfunktion:

Abstandsfunktion:

Signumfunktion:

Persönliche Werkzeuge