Français
Experimente

quatre-Pfosten-variante de "Türme de Hanoi" (rekursiv)

 

p.specht

Anmerkung: sur den Internetseiten de 'Stack Overflow' ist sogar une variante avec beliebig vielen Pfosten (Engl.:'Pegs') pour trouver, allerdings dans qui plutôt ungewöhnlichen Discours 'F#'. vous benutzt dem Vernehmen pour den iterativen 'Frame-Stewart Algorithmus'. ici allderdings qui Standardalgorithmus lt. Lehrbuch. Rekursion ist allerdings aucun grand Stärke de XProfan...
Titre de la fenêtre upper$("Türme de Hanoi avec 4 Pfosten, rekursiv")
Fenêtre Style 24:Fenêtre 0,0-%maxx,240:randomize:font 2
imprimer "\n ici une rekursive variante avec 4 Pfosten"
declare n&,m&
imprimer "\n\n\n Gewünschte Scheibenzahl ?:",:input n&
Titre de la fenêtre " TASTE Q pour SCHNELL-LAUF DRÜCKEN "
cls
declare h&[4,n&],v&[4],z&

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

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

    proc hanoi4 :parameters n&,von&,ueber&,ueber2&,nach&

        si n&=1

            déplacer(von&,nach&)

        elseif n&=2

            déplacer(von&,ueber&)
            déplacer(von&,nach&)
            déplacer(ueber&,nach&)

        d'autre

            Hanoi4(n&-2,von&,ueber2&,nach&,ueber&)
            déplacer(von&,ueber2&)
            déplacer(von&,nach&)
            déplacer(ueber2&,nach&)
            Hanoi4(n&-2,ueber&,von&,ueber2&,nach&)

        endif

    endproc

    'proc hanoi :parameters n&,von&,nach&,ueber&
    'si n&=1
    '  déplacer(von&,nach&)
    'elseif n&>1
    '  hanoi(n&-1,von&,ueber&,nach&)
    '  déplacer(von&,nach&)
    '  hanoi(n&-1,ueber&,nach&,von&)
    'endif
    'endproc

    proc déplacer :parameters 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&
        cas %clé<>113:waitinput 1000

    endproc

    proc Show :parameters von&,nach&

        locate 1,1
        inc z&
        imprimer " ";z&;»,von&;">";nach&;" "
        imprimer "------------------------"
        cas %clé<>113:waitinput 1000
        declare v&,w&

        whileloop 1,4:v&=&Boucle

            imprimer " ";v&;":  ",

            whileloop 1,m&

                w&=&Boucle

                si h&[v&,w&]>0:imprimer h&[v&,w&],

                    d'autre :imprimer ".",

                endif

            endwhile

            imprimer

        endwhile

        imprimer "------------------------"

    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


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

677 Views

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