Stoffel

Sneeuwmannen

Jan 16th, 2013
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 1.17 KB | None | 0 0
  1. ;Vraag 3
  2. (define doos (cons '() '()))
  3. (define slinger '(sneeuwman sneeuwman ster ster sneeuwman ster ster sneeuwman sneeuwman ster))
  4.  
  5. (define (sneeuwman? x)
  6.   (eq? 'sneeuwman x))
  7. (define (ster? x)
  8.   (eq? 'ster x))
  9.  
  10. (define (berg-op slinger doos)
  11.   (cond
  12.     ((null? slinger)
  13.      '())
  14.     (else
  15.      (let iter
  16.        ((view slinger)
  17.         (rest (cdr slinger))
  18.         (lastsnm '())
  19.         (laststr '()))
  20.        (display doos)(newline)
  21.        (cond
  22.          ((eq? rest slinger)
  23.           doos)
  24.          ((sneeuwman? (car view))
  25.           (if (null? (car doos))
  26.               (begin (set-car! doos view)
  27.                      (set-cdr! view '())
  28.                      (iter rest (cdr rest) view laststr))
  29.               (begin (set-cdr! lastsnm view)
  30.                      (set-cdr! view '())
  31.                      (iter rest (cdr rest) view laststr))))
  32.          ((ster? (car view))
  33.           (if (null? (cdr doos))
  34.               (begin (set-cdr! doos view)
  35.                      (set-cdr! view '())
  36.                      (iter rest (cdr rest) lastsnm view))
  37.               (begin (set-cdr! laststr view)
  38.                      (set-cdr! view '())
  39.                      (iter rest (cdr rest) lastsnm view)))))))))
Advertisement
Add Comment
Please, Sign In to add comment