VBA-Excel Wurzel ziehen

  • Sonstige

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von MartinB..

    VBA-Excel Wurzel ziehen

    Hallo Leute ich (Azubi) habe eine Übungsaufgabe (Wurzel ziehen VBA-Excel) von meinem Chef bekommen, habe sie gelöst und jetzt soll ich die Aufgabe anders lösen, versteh aber ums verrecken nicht was er damit meint.
    Könnt Ihr mir auf die Sprünge helfen bzw n Tip geben wonach ich suchen muss?

    So hab ich sie gelöst:

    Visual Basic-Quellcode

    1. Option Explicit
    2. Public Function qwurzel(ByVal X As Double) As Currency
    3. qwurzel = X ^ (1 / 2)
    4. End Function


    und er sagte mir: Super gelöst und formal richtig. Aber versuchen Sie doch mal das Wurzelziehen so richtig selbst zu programmieren ohne sqrt und Exponieren.
    ?( ?( ?(

    Danke schonmal im vorraus!

    Gruß
    Martin
    Danke für die Hilfe. Ich hab es jetzt so gemacht. Aber brauch da noch ein wenig Unterstüzung. Ich muss das " mach es solange bis y^2 UNGEFÄHR x" noch ausschreiben.

    Visual Basic-Quellcode

    1. Public Function qwurzel(j As Double) As Double
    2. Dim y As Double
    3. Do While y ^ 2 ~ qwurzel <-----Hier muss was anderes rein.
    4. j = (y + qwurzel) / 2
    5. If y ^ 2 > qwurzel Then
    6. qwurzel = j
    7. Else
    8. y = j
    9. End If
    10. Loop
    11. End Function

    Was wäre denn da die beste möglichkeit?

    Danke nochmals für die Hilfe
    Damals in der guten alten Zeit, haben wir im Informatik-Unterricht "Schreibtischdurchläufe" gemacht ...

    Bsp. mit x = 9
    qwurzel = 0
    y = 0
    j = 0

    solange 0 = 0 tue:
    j = 0^2 / 2 -> j = 0
    wenn 0^2 > 0 dann
    qwurzel = 0
    sonst
    y = 0 -> y = 0
    ende wenn
    ende solange

    Am ende der Schleife sind also alle Werte 0 und die Schleife läuft endlos.

    Schau dir den Pseudocode nochmal an, würde ich sagen ...

    "Ungefähr" prüft man zb mit: if abs(y^2 - x) < 0.0001 then
    Somit kann man die "Genauigkeit" vorgeben, die verlangt wird.

    Nachtrach:
    Hier mal die Grundlagen de.wikipedia.org/wiki/Bisektion

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „picoflop“ ()

    So. Ich hab es jetzt hinbekommen, dass ich in der MsgBox das "annähernd richtige" Ergebnis habe....aber irgendwie zeigt er es mir in dem Textfeld A2 nicht mehr an...aber das bekomm ich schon alleine hin.

    Vielen Dank für deine Hilfe Picoflop

    MfG Martin