Упражнение 4
============

Задачи
------

1. Да се дефинира функцията `length(l)`, която намира дължината на списъка `l`.

2. Да се дефинира функцията `sum(l)`, която намира сумата на елементите на списъка `l`.

3. Да се дефинира функцията `append(l, x)`, коята добавя елемент `x` на края на списък `l`.

4. Да се дефинира функцията `reverse(l)`, която връща списъка `l` в обратен ред.

5. Да се дефинира функцията `last(l)`, която връща последния елемент на списъка `l`.

6. Да се дефинира функцията `nth(l, n)`, която връща елемента на позиция `n`, броейки от **0**, в списъка `l`.

7. Да се дефинира функцията `scale-list(l, x)`, която връща списък, в който всяко число от `l` е умножено по числото `x`.

8. Да се дефинира функцията `map(f, l)`, която прилага функцията `f` върху всеки елемент на `l`.

9. Да се дефинира функцията `filter(p, l)`, връща списък с елементите на `l`, които удовлетворяват предиката `p`.

10. Напишете процедурата `accumulate`, така че да работи със списъци вместо интервали от числа `[a, b]`.

Add 10 list problem definitions for exercise 4
Add 10 list problem definitions for exercise 4
