Wo liegt mein fehler (Rekursion) (Heron Verfahren)
-
Hallo:
Ich habe Folgende Aufgabenstellung:"Zur Berechnung der Wurzel einer Zahl gibt es ein rekursives Verfahren. DIe Formel lautet:
w(n,x) = 0.5*[w(n-1,x) + (x / (w(n-1,x)) ) ]"
Diese Formel habe ich einfach so eingegeben und bei jedem weiteren Rekursionsschritt
inkrement n gesetzt.
Jedoch gibt mir das Programm nur quatsch heraus.Das ist mein Code:
https://pastebin.com/vmN0Uc6LVielen Dank im Vorraus
-
Rekursiv ist eine Funktion dann, wenn sie sich selbst aufruft. Deine Funktion
wurzel()
hat nichts mit der genannten Formel zu tun.
-
Diese Formel habe ich einfach so eingegeben und bei jedem weiteren Rekursionsschritt
inkrement n gesetzt.Nein, du berechnest n+1 und gibst n zurück.
-
In der Ausgabe sollst du nur
wurzel(n, x)
ausgeben. Die Funktionwurzel
soll dir doch schon die Wurzel berechnen!Innerhalb deiner Wurzel-Funktion berechnest du den neuen Wurzel-Wert aus dem vorherigen mit n-1.
-
Hallo!
Ich wollte mich, wenn auch etwas verpätet, zurückmelden und mich für die Hilfestellungen bedanken!
Die Ansätze haben mir zur korrekten Lösung geführtViele Grüße