Français
Source/ Codesnippets

Kubikwurzel aus negativen payons

 

p.specht

Wurzeln ungerader ganzzahliger Radix (3. Wurzel, 5., 7. etc.) aus negativen payons sommes mathématique zulässig. Reelle Argumente avons dabei réel Ergebnisse, qui cela gleiche Vorzeichen tragen comment qui Radikand, d.i. qui Wert aus dem qui Wurzel gezogen wird.

malheureusement savons viele Programmiersprachen cela pas, et XProfan ist là aucun Ausnahme. qui entsprechenden Abstürze avons mich zum folgenden comparaison unterschiedlicher Kubikwurzel-Algorithmen geführt, qui là pas abstürzen.
Windowtitle "Diverse Kubikwurzelalgorithmen im Vergleich"
cls:font 2:set("decimals",17)
declare x!,y1!,y2!,y3!,y4!,w$,ex!

Repeat

    Imprimer "\n Radikand x = ";:input w$:cas w$=»:end
    w$=upper$($ Trim(w$)):ex!=si(instr("E",w$), val(substr$(w$,-1,"E")),0)

    ifnot between(ex!,-53,53):beep:imprimer "\n *** Exponent out of la gamine! ***"

        waitinput:cls:continue:endif:x!=val(w$)
        y1!=cubrt1(x!):y2!=cubrt2(x!):y3!=cubrt3(x!)
        locate 4,3
        imprimer "     cubrt1(x)            cubrt2(x)             cubrt3(x)"
        locate 6,3 :imprimer format$("%g",y1!)
        locate 6,27:imprimer format$("%g",y2!)
        locate 6,52:imprimer format$("%g",y3!)
        imprimer "\n Abs.Diff: y2-y1=          y3-y1=                y3-y2="
        locate 9,3 :imprimer format$("%g",y2!-y1!)
        locate 9,27:imprimer format$("%g",y3!-y1!)
        locate 9,52:imprimer format$("%g",y3!-y2!)
        imprimer "\n   Probe: y1^3             y2^3=                  y3^3="
        locate 12,3 :imprimer format$("%g",sqr(y1!)*y1!)
        locate 12,27:imprimer format$("%g",sqr(y2!)*y2!)
        locate 12,52:imprimer format$("%g",sqr(y3!)*y3!)
        waitinput
        cls

    until 0

    proc cubrt1 :parameters x!

        var sgn!=1-2*(x!<0):x!=abs(x!)
        return si(x!=0,0,sgn!*x!^0.333333333333333333)

    endproc

    proc cubrt2 :parameters x!

        var sgn!=1-2*(x!<0):x!=abs(x!)
        return si(x!=0,0,sgn!*sqrt(x!)/x!^(1/6))

    endproc

    proc cubrt3 :parameters v!

        cas V!=0:return 0.0:declare sg!,epsi!,r!,last_r!,i&
        sg!=si(V!<0,-1,1):v!=abs(v!):r!=1:i&=0
        epsi!=1.77*10^(-15+lg(V!)*(lg(V!)>0)/3)
        'lg(x)=ln(x)*0.434294481903251827

        tandis que i&<=3000:last_r!=r!:r!=(2*r!+V!/sqr(r!))/3

            inc i&:cas abs(r!-last_r!)<=epsi!:pause
            endwhile:cas i&>3000:return -9.9999999999e-52
            return r!*sg!

        endproc


P.S.: Beim Kubieren (dreimal avec sich selbst multiplizieren) de zéro et negativen payons avec dem ^-Symbol passer également Abstürze, là es aucun solchen Argumente verträgt. ici ist Abhilfe mais einfacher :proc cub :parameters x!:return sqr(x!)*x!:endproc
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
22.05.2021  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

1.358 Views

Untitledvor 0 min.
Rschnett06.08.2022
p.specht21.11.2021
R.Schneider20.11.2021
Uwe Lang20.11.2021
plus...

Themeninformationen

cet Thema hat 1 participant:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie