Advertisement
Guest User

Untitled

a guest
Sep 8th, 2015
353
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.11 KB | None | 0 0
  1.  
  2. Skrifið Scheme fall sum, sem tekur eitt viðfang x, sem skal vera listi talna x1,...,xn, og skilarPn i=1 xi. Þið skuluð leyfa að listinn sé tómur og skila viðeigandi gildi í því tilviki.
  3.  
  4. (define (sum x)
  5. (hjalp x 0)
  6. )
  7.  
  8. (define (hjalp x s)
  9. (if (null? x)
  10. s
  11. (hjalp (cdr x) (+ (car x) s))
  12. )
  13. )
  14.  
  15. (sum '(1 2 3))
  16.  
  17.  
  18. Skrifið Scheme fall product, sem tekur eitt viðfang x, sem skal vera listi talna x1,...,xn, og skilar Πn i=1xi. Þið skuluð leyfa að listinn sé tómur og skila viðeigandi gildi í því tilviki. Fallið skal vera halaendurkvæmt.
  19.  
  20. (define (product x)
  21. (hjalp x 1)
  22. )
  23.  
  24. (define (hjalp x s)
  25. (if (null? x)
  26. s
  27. (hjalp (cdr x) (* (car x) s))
  28. )
  29. )
  30.  
  31. (product '(1 2 3))
  32.  
  33.  
  34.  
  35. Skrifið Scheme fall, sem tekur lista (x1 ...xn), sem viðfang, og skilar listanum (x2 1 ...x2 n).
  36.  
  37. (define (listi x)
  38. (hjalp (cdr x) '((^ (car x) 2))
  39. )
  40.  
  41. (define (hjalp x u)
  42. (if (null? x)
  43. u
  44. (hjalp (cdr x) (cons u (^ (car x) 2)))
  45. )
  46. )
  47.  
  48. (listi '(1 2 3))
  49.  
  50.  
  51.  
  52. Skrifið Scheme fall,sem tekur tvö viðföng x og y,og skilar falli,sem tekur gildi z, sem viðfang, og skilar x ef z er satt og y ef z er ekki satt.
  53.  
  54.  
  55. (define (fall x y)
  56. (define (fell z)
  57. (if z
  58. x
  59. y
  60. )
  61. )
  62. fell
  63. )
  64.  
  65. ((fall 1 2) true)
  66.  
  67.  
  68.  
  69. Skrifið halaendurkvæmt Scheme fall cube sum sem tekur eitt viðfang x þar sem x er listi talna x1,...,xn, og skilar summu þriðjaveldis talnanna. Til dæmis skal Scheme segðin
  70. (cubesum (list 1 2 3)) Skila gildinu á 13 + 23 + 33. Lausnin verður að vera halaendurkvæm, annars fáið þið einungis hálf stig. Einnig skal lausnin skila vitrænu gildi þegar listinn er tómur.
  71.  
  72. (define (cubesum x)
  73. (if (null? x)
  74. x
  75. (hjalp (cdr x) '((^ (car x) 3))
  76. )
  77. )
  78.  
  79. (define (hjalp x u)
  80. (if (null? x)
  81. u
  82. (hjalp (cdr x) (cons u (^ (car x) 3)))
  83. )
  84. )
  85.  
  86. (cubesum '(1 2 3))
  87.  
  88.  
  89.  
  90. Skrifið fall fcompose sem tekur tvö viðföng, f og g sem hvort tveggja eiga að vera föll sem taka einn viðfang. Kallið (fcompose f g) skal skila samsetta fallinu f ◦ g, þ.e. fallinu h þar sem h(x) skilar f(g(x)). Til dæmis skal (fcompose sqrt sqrt)skilafallisemreiknarfjórðurót. Prófiðtildæmis segðina ((fcompose sqrt sqrt) 4),semættiaðskilakvaðratrótinniaf 2.
  91.  
  92.  
  93. (define (fcompose f g)
  94. (define (h x)
  95. (f (g x))
  96. )
  97. h
  98. )
  99.  
  100. ((fcompose sqrt sqrt) 16)
  101.  
  102.  
  103. Skrifið fall fubar sem tekur tvö viðföng, f og x, þar sem f er fall sem tekur tvö viðföng og x er löglegt sem fyrra viðfangið. (fubar f x) skal skila falli h þannig að h(z) skili sama gildi og f(x,z). Til dæmis skal segðin ((fubar + 1) 10) skila 11.
  104.  
  105.  
  106. (define (fubar f x)
  107. (define (h z)
  108. (f x z)
  109. )
  110. h
  111. )
  112.  
  113. (fubar + 10) 1)
  114.  
  115.  
  116. Skrifið Scheme fall, sem tekur tölu y sem viðfang og skilar falli, sem tekur lista (x1 ...xn),semviðfang,ogskilarlistanum(y×x1 ...y×xn). Táknið×stendur fyrir venjulega margföldun.
  117.  
  118.  
  119. (define (vm y)
  120. (define (bob x)
  121. (if (null? x)
  122. x
  123. (hjalp (cdr x) '((* (car x) y)))
  124. )
  125. )
  126. (define (hjalp x p)
  127. (if (null? x)
  128. p
  129. (hjalp (cdr x) (cons p (* (car x) y)))
  130. )
  131. )
  132. bob
  133. )
  134.  
  135.  
  136. ((vm 2) '(1 2 3))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement