Was bedeutet F : ℤ -> ℕ bei Rekursion?
Was bedeutet das genau?
Wenn mir allgemein jemand helfen könnte bei dem Blatt wäre es super, aber das nur nebensächlich.
3 Antworten
![](https://images.gutefrage.net/media/user/eterneladam/1673990853932_nmmslarge__0_0_3023_3024_b3ab443b0f60481e81ea92643ef07370.jpg?v=1673990854000)
F(.) soll auf den ganzen Zahlen definiert sein. Die Funktionsvorschrift ist allerdings unvollständig. Vermutlich sollte es "(n<=0)" statt ("n=0)" heissen. Dann ist F auf den negativen Zahlen und der Null gleich Null und die Rekursion bricht nach (aufgerundet) n/2 Schritten ab.
![](https://images.gutefrage.net/media/default/user/9_nmmslarge.png?v=1551279448000)
Ich würde sagen, dass es für den Werte und Definitionsbereich steht und somit den Intervall bzw. hier den Zahlenbereich definiert. Ganzzahlen zu Natürlichen Zahlen.
![](https://images.gutefrage.net/media/default/user/15_nmmslarge.png?v=1551279448000)
Genau, F bekommt eine ganze Zahl und macht daraus eine natürliche Zahl.
Edit: Wobei mir gerade auffällt dass F für n < 0 gar nicht definiert ist. Also ist diese Aufgabenstellung fehlerhaft.
![](https://images.gutefrage.net/media/default/user/15_nmmslarge.png?v=1551279448000)
Ja. Aber da steht dass für n ganze Zahlen zulässig sind, und die können sehr wohl kleiner als Null sein.
![](https://images.gutefrage.net/media/user/PsySkill/1599391555220_nmmslarge__17_94_668_668_d31076306fb5140dde1131472055e1d9.png?v=1599391555000)
Ok, n ist also Element der ganzen zahlen. Warum ist dann da ein Pfeil -> N mit den natürlichen Zahlen
![](https://images.gutefrage.net/media/default/user/15_nmmslarge.png?v=1551279448000)
F: Z -> N bedeutet: "F ist eine Funktion, die eine ganze Zahl auf eine natürliche Zahl abbildet". Das heißt in F wird eine ganze Zahl eingesetzt, und eine natürliche Zahl daraus berechnet.
![](https://images.gutefrage.net/media/default/user/15_nmmslarge.png?v=1551279448000)
Aber wie gesagt, die Definition darunter passt dazu nicht. Es ist nicht angegeben wie negative n verarbeitet werden.
![](https://images.gutefrage.net/media/user/PsySkill/1599391555220_nmmslarge__17_94_668_668_d31076306fb5140dde1131472055e1d9.png?v=1599391555000)
Ja, die erste Aufgabe auf dem Foto greift doch genau dieses Problem auf oder?
![](https://images.gutefrage.net/media/default/user/15_nmmslarge.png?v=1551279448000)
Ja, ich fürchte auch dass das damit gemeint ist. Der Begriff "terminieren" ist hier völlig falsch. Diese Funktion bekommt man nicht mal zum laufen.
Wenn Du F, so wie sie da steht, in Python oder Java hinschreibst, wird der Compiler oder Interpreter einen Fehler ausgeben, da dort eben der Fall der negativen Zahlen fehlt.
Das hat nichts mit terminieren zu tun, die Funktion ist einfach nicht wohldefiniert, und daraus bekommt man auch kein korrektes Computerprogramm.
![](https://images.gutefrage.net/media/user/PsySkill/1599391555220_nmmslarge__17_94_668_668_d31076306fb5140dde1131472055e1d9.png?v=1599391555000)
![](https://images.gutefrage.net/media/default/user/15_nmmslarge.png?v=1551279448000)
Ich hab jetzt nicht so genau drauf geschaut, aber es dürften eigentlich nur positive, gerade Zahlen zulässig sein, also F: {0, 2, 4, 6, ...} -> N. Denn mit ungeraden Zahlen kommt man beim tiefsten Aufruf immer zu F(-1), und das ist wieder nicht definiert. Aber ich kann es mir morgen nochmal genauer ansehen.
![](https://images.gutefrage.net/media/user/PsySkill/1599391555220_nmmslarge__17_94_668_668_d31076306fb5140dde1131472055e1d9.png?v=1599391555000)
Ja kein Ding, ich reche das auch gleich nochmal mit paar werten selber nach
![](https://images.gutefrage.net/media/user/PsySkill/1599391555220_nmmslarge__17_94_668_668_d31076306fb5140dde1131472055e1d9.png?v=1599391555000)
Also mein Ergebnis. Du hast Recht. Die Funktion berechnet die Hälfte von Natürlichen Geraden Zahlen. Alles andere führt zu Fehlern
Siehe Aufgabe 1.
Aber eine natürliche Zahl kann doch gar nicht n < 0 sein?!