-
Да се напише функция zad1 която приема като единствен параметър списък с числа и връща l1 - l2 + l3 .... Да не се използва if или степенуване за определяне на + или -
-
Да се напише функция (calculate-list L) която пресмята списък със следният вид <елемент1> <функция|оператор1> <елемент2> ....
-
(binary-tree-sort L)
-
Да се напише функцията (subtree T root-val is-min) която намира в зададеното дърво поддърво с корен root-val и в зависимост от is-min върнатото поддърво трябва да е или най-малкото или най-голямото
Всяка задача в отделен файл с име като функцията binary-tree-sort.scm
и (provide) (provide binary-tree-sort)
на използваните функции.
(zad1 '(1 4 3 2 ) ) => -2
(zad1 '() ) => 0
(calculate-list '() ) => 0
(calculate-list '(1 + 2 - 4 + 5 ) ) => 4
(calculate-list '(1 + 2 - 4 + 5 * 4 ) ) => 19
(calculate-list '((1 + 2 - 4 + 5) * 4 ) ) => 16
-
(binary-tree-sort '(3 2 6 9 1)) => '(1 2 3 6 9)
-
Нека Т e следното дърво :
1
2 3
2 4 5 6
8 7
(subtree T 2 #t)
ще върне дървото
2
8 7
(subtree T 2 #f)
ще върне дървото
2
2 4
8 7