home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1989 / 08 / grdlagen / while_3.bas < prev    next >
Encoding:
BASIC Source File  |  1989-05-31  |  1.3 KB  |  35 lines

  1. 300  WHILE HANOI : HANOI = FALSE
  2. 310    STOCKWERK = 9 : ANFANG = 3 - ZIEL + START
  3. :      MITTE = 3 - ZIEL - START
  4. :      DREHUNG%(1) = ANFANG * (1 + N MOD 2)
  5. :      DREHUNG%(0) = ANFANG * (2 - N MOD 2)
  6.                                ' abhängig v. Ziel,Start u. N
  7. 320    FOR J=1 TO N
  8. :        FUNDAMENT%(J) = START: WEGWEISER%(J) = 1
  9. :      NEXT
  10. 330    BESCHRIFTUNG = TRUE : GOSUB 100
  11. 335       ' Abwechselnd werden immer das ursprünglich N-te
  12.           ' Stockwerk und dann  dasjenige umgesetzt, dessen
  13.           ' übergeordnetes eine gerade Zahl von Umsetzungen
  14.           ' hinter sich hat.
  15. 340    ECHTZEIT! = TIMER
  16. 350    FOR SCHRITT = 1 TO 2^N - 1
  17. 351      IF STOCKWERK>1 THEN STOCKWERK=1
  18. :        ELSE STOCKWERK = 2
  19. :          WHILE WEGWEISER%(STOCKWERK-1) > 0
  20. :            STOCKWERK = STOCKWERK+1 : WEND
  21. 352      DREHUNG = DREHUNG%(STOCKWERK MOD 2)
  22. 353      VON  = FUNDAMENT%(STOCKWERK)
  23. :        NACH = (VON+DREHUNG) MOD 3
  24. 354      FUNDAMENT%(STOCKWERK) = NACH
  25. 355      WEGWEISER%(STOCKWERK) = -WEGWEISER%(STOCKWERK)
  26. 356      AUSGABE = TRUE : GOSUB 900
  27. 357    NEXT
  28. 360    ECHTZEIT! = TIMER - ECHTZEIT!
  29. 370    END.AUSGABE = TRUE : GOSUB 100
  30. 380    RETURN
  31. 389  WEND ' Hanoi
  32.           ' Zeit-Optimierung mit GOSUB 900 in Zeile 356
  33.           ' Die Wegweiser ergeben den in Zeile 3 erwähnten
  34.           ' einschrittigen, binären zyklischen Code
  35.