Parallelverarbeitung

Aus ProgrammingWiki
Archivierte Version vom 2009-05-29T06:38:06+00:00. Aktuelle Version

Die folgenden Aufgaben beziehen sich direkt auf die in der Vorlesung verwendete Linienführung und die vorgestellten Beispiele. Es empfiehlt sich also das Skript durchzuarbeiten, die Beispiele zu erproben und die folgenden Aufgaben an den passenden Stellen zu bearbeiten.

Ihr Browser unterstützt Canvas nicht.

<eval> (clear canvas1) (home turtle1)</eval>

(define threaded-tree

 (lambda (side turtle)
   (cond
      [(< side 5) (show turtle)]
      [else
        (sleep-for-a-while 0.8)
        (forward turtle side)
        (let ([t1 (clone turtle) [t2 (clone turtle)])
          (left t1 45)
          (right t2 45)
          (thread (lambda () (threaded-tree (/ side 2) t1)))
          (thread (lambda () (threaded-tree (/side 2) t2))))])))

(hide turtle1) (threaded-tree 150 turtle1)