Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define (knutsel n sterren sneeuwmannen)
- (define output '())
- (define (add-sterren output n)
- (define (iter output n)
- (if (or (null? sterren) (<= n 0))
- output
- (let ((rest (cdr sterren)))
- (cond ((null? output)
- (set! output sterren)
- (set-cdr! sterren '()))
- (else
- (set-cdr! (last output) sterren)
- (set-cdr! sterren '())))
- (set! sterren rest)
- (iter output (- n 1)))))
- (iter output n))
- (define (iter sneeuwmannen)
- (display "sterren: ")(display sterren)(newline)
- (display "sneeuwmannen: ")(display sneeuwmannen)(newline)
- (display "output: ")(display output)(newline)
- (cond
- ((null? sterren)
- (set-cdr! (last output) sneeuwmannen)
- (set-cdr! (last output) output)
- (display sterren)(newline)
- output
- )
- ((null? sneeuwmannen)
- (set-cdr! (last output) sterren)
- (set-cdr! (last output) output)
- output
- (display "sterren: ")(display sterren)(newline)
- (display "sneeuwmannen: ")(display sneeuwmannen)(newline)
- (display "output: ")(display output)(newline))
- (else
- (let ((ster sterren)
- (sneeuwman sneeuwmannen)
- (restsneeuw (cdr sneeuwmannen)))
- ;sneeuwman aanhangen
- (if (null? output)
- (begin (set! output sneeuwman)
- (set-cdr! output '()))
- (begin (set-cdr! sneeuwman '())
- (set-cdr! (last output) sneeuwman)))
- ;n sterren aanhangen
- (add-sterren output n)
- ;itereren
- (iter restsneeuw)))))
- (iter sneeuwmannen))
Advertisement
Add Comment
Please, Sign In to add comment