1. Каква е разликата между списъците и вектори в Хаскел и списъците в Scheme?
  2. Кои са конструкциите за списъци на Хаскел, които съответстват на функциите cons, car, cdr, '(), null?, list, append?
  3. Напишете функция mem :: (Eq a) => a -> [a] -> Bool, която проверява дали даден елемент принадлежи на списък
  4. Напишете функция different :: (Eq a) => [a] -> Bool, която проверява дали един списък се състои от различни елементи
  5. Напишете функция ordered :: (Ord a) => [a] -> Bool, която проверява дали елементите на даден списък са подредени в нарастващ ред
  6. Напишете функция deleteAll :: (Eq a) => a -> [a] -> [a], която изтрива всички срещания на даден елемент от списъка
  7. Напишете собствени варианти на стандартните функции map, filter, foldr. Какви са типовете им?
  8. Напишете функция sumOddSquares :: [Int] -> Int, която намира сумата от квадратите на нечетните цели числа в даден списък. Решете задачата по два начина - с map, filter, foldr и с list comprehension
Последно модифициране: събота, 12 ноември 2011, 17:38