Español
Fuente/ Codesnippets

Kubikwurzel de negativen Pagar

 

p.specht

Wurzeln ungerader ganzzahliger Radix (3. Wurzel, 5., 7. etc.) de negativen Pagar son matemáticamente zulässig. Reelle Argumente haben esta real Ergebnisse, el el gleiche Vorzeichen tragen como el Radikand, d.i. el Valor de el el Wurzel Se señala.

Leider wissen viele Programmiersprachen el no, y XProfan es como no Excepción. El entsprechenden Se bloquea haben mich para folgenden Vergleich unterschiedlicher Kubikwurzel-Algorithmen geführt, el como no abstürzen.
Windowtitle "Diverse Kubikwurzelalgorithmen en el Vergleich"
cls:font 2:set("decimals",17)
declarar x!,y1!,y2!,y3!,y4!,w$,ex!

Repeat

    Imprimir "\n Radikand x = ";:input w$:caso w$="":end
    w$=upper$(trim$(w$)):ex!=if(instr("E",w$), val(substr$(w$,-1,"E")),0)

    ifnot between(ex!,-53,53):beep:imprimir "\n *** Exponent out of Range! ***"

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

    until 0

    proc cubrt1 :parámetros x!

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

    ENDPROC

    proc cubrt2 :parámetros x!

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

    ENDPROC

    proc cubrt3 :parámetros v!

        caso V!=0:volver 0.0:declarar sg!,epsi!,r!,last_r!,i&
        sg!=if(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

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

            inc i&:caso abs(r!-last_r!)<=epsi!:romper
            endwhile:caso i&>3000:volver -9.9999999999e-52
            volver r!*sg!

        ENDPROC


P.S.: Beim Kubieren (dreimal con se incluso multiplizieren) de Null y negativen Pagar con el ^-Symbol passieren ebenfalls Se bloquea, como lo no solchen Argumente verträgt. Hier es Abhilfe aber einfacher :proc cub :parámetros x!:volver 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


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

1.350 Views

Untitledvor 0 min.
Rschnett06.08.2022
p.specht21.11.2021
R.Schneider20.11.2021
Uwe Lang20.11.2021
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie