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/vmN0Uc6L

    Vielen Dank im Vorraus



  • Rekursiv ist eine Funktion dann, wenn sie sich selbst aufruft. Deine Funktion wurzel() hat nichts mit der genannten Formel zu tun.



  • @V12TDI

    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 Funktion wurzel 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ührt

    Viele Grüße 🙂


Log in to reply