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