Français
Source/ Codesnippets

Allgemeines Polynom 6. Grades lösen: Vereinfachtes Bairstow-procéder

 

p.specht


Titre de la fenêtre "Lösungen des Allgemeinen Polynoms 6. Grades pour Bairstow"
Cls:declare a![6],xn!,x!,c$,Grad&
lup:
a![6]=1:a![5]=1:a![4]=1:a![3]=1:a![2]=1:a![1]=1:a![0]=-6'default
imprimer "\n s'il te plaît Koeffizienten pour fallendem Grad eingeben:"
imprimer "--------------------------------------------------"
imprimer " a6 = ";:input c$:cas c$ > » :a![6]=val(c$)
imprimer " a5 = ";:input c$:cas c$ > » :a![5]=val(c$)
imprimer " a4 = ";:input c$:cas c$ > » :a![4]=val(c$)
imprimer " a3 = ";:input c$:cas c$ > » :a![3]=val(c$)
imprimer " a2 = ";:input c$:cas c$ > » :a![2]=val(c$)
imprimer " a1 = ";:input c$:cas c$ > » :a![1]=val(c$)
imprimer " a0 = ";:input c$:cas c$ > » :a![0]=val(c$)
imprimer "--------------------------------------------------"
Grad&=sizeof(A![])-1

WhileLoop Grad&,0,-1

    Set("NumWidth",1) :set("Décimal",0)

    si &Boucle<Grad&:imprimer " +";:d'autre:imprimer "  ";:endif

        Imprimer "X^";&Boucle,
        Set("NumWidth",26):set("Décimal",15):Imprimer " la fois ";A![&Boucle]

    Endwhile

    Imprimer:Imprimer " Pour Berechnungsstart s'il te plaît bouton drücken!"
    WaitInput
    CLS
    Set("NumWidth",1) :set("Décimal",0)
    Imprimer "Das gegebene Polynom vom Grad ";Grad&;" hat folgende Nullstellen:":Imprimer
    Bairstow(A![])
    WaitInput
    goto "lup"

    Proc Bairstow : Paramètres A![]:Var Grad&=SizeOf(A![])-1

        Déclarer i&,R!,P!,P1!,Q!,Q1!,Ce!,s!,t!,B![Grad&],C![Grad&]
        set("NumWidth",20):set("Décimal",15)

        Tandis que Grad&>2:R!=0:P1!=1:Q1!=-1:B![Grad&]=A![Grad&]:C![Grad&]=A![Grad&]

            Repeat :P!=P1!:Q!=Q1!:B![Grad&-1]=B![Grad&]*P!+A![Grad&-1]
            C![Grad&-1]=B![Grad&-1]+B![Grad&]*P!

            Whileloop Grad&-2,0,-1:i&=&Boucle:B![i&]=B![i&+2]*Q!+B![i&+1]*P!+A![i&]

                C![i&]=C![i&+2]*Q!+C![i&+1]*P!+B![i&]

            Endwhile

            Ce!=C![2]*C![2]-C![1]*C![3]:cas Ce!=0:Imprimer "Andere Startwerte nötig!"
            P1!=P!-(B![1]*C![2]-B![0]*C![3])/Ce!:Q1!=Q!-(B![0]*C![2]-B![1]*C![1])/Ce!:R!=R!+1

            Si R!>4000:Imprimer "\n\n 4000 Runden, aucun Konvergenz!":WaitInput :Fin :EndIf

            Until Abs(B![0])+Abs(B![1])<10^-12:s!=P1!/2:t!=P1!*P1!+4*Q1!

            Si t!<0:Imprimer s!;"   + ";0.5 * Sqrt(-t!);"*i ";: comment

                Imprimer s!;"   - ";0.5 * Sqrt(-t!);"*i ";: comment
                D'autre :Imprimer s!+0.5*Sqrt(t!):Imprimer s!-0.5*Sqrt(t!)
                EndIf :whileloop 2,Grad&:i&=&Boucle:A![i&-2]=B![i&]:endwhile :Grad&=Grad&-2

            Endwhile

            Si Grad&=1:Imprimer -A![0]/A![1]:D'autre :s!=-0.5*A![1]/A![2]:t!=A![1]*A![1]-4*A![2]*A![0]

                Si t!<0:Imprimer s!;"   + ";0.5*Sqrt(-t!)/A![2];"*i ";: comment

                    Imprimer s!;"   - ";0.5*Sqrt(-t!)/A![2];"*i ";: comment
                    D'autre   :Imprimer s!+0.5*Sqrt(t!)/A![2]:Imprimer s!-0.5*Sqrt(t!)/A![2]

                EndIf

            EndIf

        ENDPROC

        Proc comment :si nearly(s!,0,9):imprimer "(Imaginär)":d'autre :imprimer "(Komplex)":endif

        endproc

 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
19.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.459 Views

Untitledvor 0 min.
p.specht21.11.2021
R.Schneider20.11.2021
Uwe Lang20.11.2021
Manfred Barei19.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