Skip to content

Latest commit

 

History

History
51 lines (39 loc) · 1.65 KB

Homework2.md

File metadata and controls

51 lines (39 loc) · 1.65 KB

Задачи

  1. Да се напише функция zad1 която приема като единствен параметър списък с числа и връща l1 - l2 + l3 .... Да не се използва if или степенуване за определяне на + или -

  2. Да се напише функция (calculate-list L) която пресмята списък със следният вид <елемент1> <функция|оператор1> <елемент2> ....

  3. (binary-tree-sort L)

  4. Да се напише функцията (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
  1. (binary-tree-sort '(3 2 6 9 1)) => '(1 2 3 6 9)

  2. Нека Т 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