Towers of Hanoi: Difference between revisions
Content added Content deleted
Line 2,049: | Line 2,049: | ||
] is hanoi</lang> |
] is hanoi</lang> |
||
=={{header|TSE SAL}}== |
|||
<lang TSE SAL> |
|||
// library: program: run: towersofhanoi: recursive: sub <description></description> <version>1.0.0.0.0</version> <version control></version control> (filenamemacro=runprrsu.s) [kn, ri, tu, 07-02-2012 19:54:23] |
|||
PROC PROCProgramRunTowersofhanoiRecursiveSub( INTEGER totalDiskI, STRING fromS, STRING toS, STRING viaS, INTEGER bufferI ) |
|||
IF ( totalDiskI == 0 ) |
|||
RETURN() |
|||
ENDIF |
|||
PROCProgramRunTowersofhanoiRecursiveSub( totalDiskI - 1, fromS, viaS, toS, bufferI ) |
|||
AddLine( Format( "Move disk", " ", totalDiskI, " ", "from peg", " ", "'", fromS, "'", " ", "to peg", " ", "'", toS, "'" ), bufferI ) |
|||
PROCProgramRunTowersofhanoiRecursiveSub( totalDiskI - 1, viaS, toS, fromS, bufferI ) |
|||
END |
|||
// library: program: run: towersofhanoi: recursive <description></description> <version>1.0.0.0.6</version> <version control></version control> (filenamemacro=runprtre.s) [kn, ri, tu, 07-02-2012 19:40:45] |
|||
PROC PROCProgramRunTowersofhanoiRecursive( INTEGER totalDiskI, STRING fromS, STRING toS, STRING viaS ) |
|||
INTEGER bufferI = 0 |
|||
PushPosition() |
|||
bufferI = CreateTempBuffer() |
|||
PopPosition() |
|||
PROCProgramRunTowersofhanoiRecursiveSub( totalDiskI, fromS, toS, viaS, bufferI ) |
|||
GotoBufferId( bufferI ) |
|||
END |
|||
PROC Main() |
|||
STRING s1[255] = "4" |
|||
IF ( NOT ( Ask( "program: run: towersofhanoi: recursive: totalDiskI = ", s1, _EDIT_HISTORY_ ) ) AND ( Length( s1 ) > 0 ) ) RETURN() ENDIF |
|||
PROCProgramRunTowersofhanoiRecursive( Val( s1 ), "source", "target", "via" ) |
|||
END |
|||
</lang> |
|||
=={{header|UNIX Shell}}== |
=={{header|UNIX Shell}}== |