Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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.
- (define (sum x)
- (hjalp x 0)
- )
- (define (hjalp x s)
- (if (null? x)
- s
- (hjalp (cdr x) (+ (car x) s))
- )
- )
- (sum '(1 2 3))
- 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.
- (define (product x)
- (hjalp x 1)
- )
- (define (hjalp x s)
- (if (null? x)
- s
- (hjalp (cdr x) (* (car x) s))
- )
- )
- (product '(1 2 3))
- Skrifið Scheme fall, sem tekur lista (x1 ...xn), sem viðfang, og skilar listanum (x2 1 ...x2 n).
- (define (listi x)
- (hjalp (cdr x) '((^ (car x) 2))
- )
- (define (hjalp x u)
- (if (null? x)
- u
- (hjalp (cdr x) (cons u (^ (car x) 2)))
- )
- )
- (listi '(1 2 3))
- 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.
- (define (fall x y)
- (define (fell z)
- (if z
- x
- y
- )
- )
- fell
- )
- ((fall 1 2) true)
- 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
- (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.
- (define (cubesum x)
- (if (null? x)
- x
- (hjalp (cdr x) '((^ (car x) 3))
- )
- )
- (define (hjalp x u)
- (if (null? x)
- u
- (hjalp (cdr x) (cons u (^ (car x) 3)))
- )
- )
- (cubesum '(1 2 3))
- 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.
- (define (fcompose f g)
- (define (h x)
- (f (g x))
- )
- h
- )
- ((fcompose sqrt sqrt) 16)
- 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.
- (define (fubar f x)
- (define (h z)
- (f x z)
- )
- h
- )
- (fubar + 10) 1)
- 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.
- (define (vm y)
- (define (bob x)
- (if (null? x)
- x
- (hjalp (cdr x) '((* (car x) y)))
- )
- )
- (define (hjalp x p)
- (if (null? x)
- p
- (hjalp (cdr x) (cons p (* (car x) y)))
- )
- )
- bob
- )
- ((vm 2) '(1 2 3))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement