Español
Experimente

Vier-Pfosten-Variante de "Türme de Hanoi" (rekursiv)

 

p.specht

Anmerkung: Auf el Internetseiten de 'Stack Overflow' es incluso una Variante con cualquier vielen Pfosten (Engl.:'Pegs') para encontrar, allerdings en el más ungewöhnlichen Lingua 'F#'. Sie benutzt el Vernehmen después de el iterativen 'Frame-Stewart Algorithmus'. Hier allderdings el Standardalgorithmus lt. Lehrbuch. Rekursion es allerdings no große Stärke de XProfan...
Título de la ventana upper$("Türme de Hanoi con 4 Pfosten, rekursiv")
Ventana de Estilo 24:Ventana 0,0-%maxx,240:randomize:font 2
imprimir "\n Hier una rekursive Variante con 4 Pfosten"
declarar n&,m&
imprimir "\n\n\n Gewünschte Scheibenzahl ?:",:input n&
Título de la ventana " TASTE Q para SCHNELL-LAUF DRÜCKEN "
cls
declarar h&[4,n&],v&[4],z&

whileloop n& : h&[1,&Loop]=n&+1-&Loop : endwhile :

    v&[1]=n&
    m&=n&
    show 1,2
    waitinput 1000
    hanoi4(n&,1,4,3,2)
    beep
    waitinput
    end

    proc hanoi4 :parámetros n&,von&,ueber&,ueber2&,nach&

        if n&=1

            move(von&,nach&)

        elseif n&=2

            move(von&,ueber&)
            move(von&,nach&)
            move(ueber&,nach&)

        más

            Hanoi4(n&-2,von&,ueber2&,nach&,ueber&)
            move(von&,ueber2&)
            move(von&,nach&)
            move(ueber2&,nach&)
            Hanoi4(n&-2,ueber&,von&,ueber2&,nach&)

        endif

    ENDPROC

    'proc hanoi :parámetros n&,von&,nach&,ueber&
    'if n&=1
    '  move(von&,nach&)
    'elseif n&>1
    '  hanoi(n&-1,von&,ueber&,nach&)
    '  move(von&,nach&)
    '  hanoi(n&-1,ueber&,nach&,von&)
    'endif
    'ENDPROC

    proc move :parámetros von&,nach&

        v&[nach&]=v&[nach&]+1
        h&[nach&,v&[nach&]]=h&[von&,v&[von&]]
        h&[von&,v&[von&]]=0:v&[von&]=v&[von&]-1
        show von&,nach&
        caso %key<>113:waitinput 1000

    ENDPROC

    proc Show :parámetros von&,nach&

        locate 1,1
        inc z&
        imprimir " ";z&;":",von&;">";nach&;" "
        imprimir "------------------------"
        caso %key<>113:waitinput 1000
        declarar v&,w&

        whileloop 1,4:v&=&Loop

            imprimir " ";v&;":  ",

            whileloop 1,m&

                w&=&Loop

                if h&[v&,w&]>0:imprimir h&[v&,w&],

                    más :imprimir ".",

                endif

            endwhile

            imprimir

        endwhile

        imprimir "------------------------"

    ENDPROC

 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
16.05.2021  
 



Zum Experiment


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

675 Views

Untitledvor 0 min.
Ernst21.07.2021
Uwe ''Pascal'' Niemeier13.06.2021
R.Schneider04.06.2021
Michael W.28.05.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