1. Да се напише функция (sum-odd-squares l), която намира сумата от квадратите на нечетните числа в l.
  2. Какво изчисляват функциите
    • (lambda (l) (accumulate cons '() l))
    • (lambda (l) (accumulate append '() l))
    • (lambda (l) (accumulate (lambda (x y) (append y (list x))) '() l))
  3. Да се напише функция (min-list l), която ако l е списък от списъци връща списък от минималните елементи на списъците в l.
  4. Да се напише функция (map2 f l), която прилага функцията f към елементите на елементите на списъка от списъци l.
  5. Как може да се запише изразът (map f (map g l)) само с едно използване на map?
  6. Да се напише функция (scanl comb nv l), която връща списъка (nv, nv # a1, (nv # a1) # a2 , ... , (...((nv # a1) # a2) # ... )# an, където с # е означен comb
  7. Да се напише функция (scanr comb nv l), която връща списъка (nv, nv # a1, a1 # (a2 # nv), ... ,a1 # (a2 # ... (an-1 # (an # nv)) ...), където с # е означен comb
  8. Да се напише функция (inits l), която връща списъка (() (a1) (a1 a2) ... (a1 a2 ... an))
  9. Да се напише функция (tails l), която връща списъка ((a1 a2 ... an) (a2 ... an) ... (an) ())
  10. Да се напише функция (subs l), която връща списък от всички подсписъци на l
  11. Да се напише функция (poly l), която връща функция, пресмятаща полинома Pn(x) = a0xn + a1xn-1 + ... + an-1x + an, където (a0 a1 ... an) са елементите на списъка l. Упътване: използвайте правилото на Хорнер, че Pn(x) = x.Pn-1(x) + an, където Pn-1(x) отговаря на списъка l без последния му елемент.
Последно модифициране: събота, 12 ноември 2011, 17:38