Advertisement
gon2

Scheme einstaklings 1

Sep 12th, 2018
292
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 1.04 KB | None | 0 0
  1. ;; dæmi 1
  2. (define (sum x)
  3.   (if (null? x)
  4.       0 ;; tómi listinn skilar 0
  5.       (if (null? (cdr x))
  6.           (car x) ;; skilum heildarsummunni
  7.           ;; setjum fyrstu tvö gildin í eitt
  8.           (sum (cons (+ (car x) (car (cdr x))) (cdr (cdr x)))))))
  9.  
  10. ;; dæmi 2
  11. (define (squaresum x)
  12.   ;;leggjum saman fyrstu tvö gildi listans í öðru veldi
  13.   (define (veldiplus x)
  14.     (+ (car x) (* (car (cdr x)) (car (cdr x)))))
  15.   (define (halarec x) ;; halaendurkvæmni
  16.     (if (null? (cdr x))
  17.         (car x)
  18.         (halarec (cons (veldiplus x) (cdr (cdr x))))
  19.         )
  20.     )
  21.   ;; bætum 0 fremst við listann (til að fá alvöru fyrsta stakið í öðru veldi), fáum einnig vitrænt gildi fyrir tómann lista (0):
  22.   (halarec (cons 0 x)))
  23.  
  24. ;; dæmi 3
  25. (define (incall y)
  26.   ;; leggjum stakið y við öll stök listans x
  27.   (define (listiplus x y)
  28.     (if (null? x)
  29.         '()
  30.         (cons (+ (car x) y) (listiplus (cdr x) y))))
  31.   ;; skilum lambdafalli með viðfanginu x sem kallar á listiplus
  32.   (lambda (x) (listiplus x y)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement