Извините, если уже достал со своими идиотскими вопросами, но опять застрял на упражнении со списками. Итак, задание: Переопределить ф-цию count-leaves из п. 2.2.2 (там она была объявлена "по определению": если дерево пустое - 0, если атом - 1, в противном случае - (+ (count-leaves (car x)) (count-leaves (cdr x)))) в виде аккумуляции: (define (count-leaves t) (accumulate <??> <??> (map <??> <??>))) Аккумуляция это такая штука: (define (accumulate op initial sequence) (if (null? sequence) initial (op (car sequence) (accumulate op initial (cdr sequence))))) Например, (accumulate + 0 '(1 2 3 4 5)) = 15
Ответ на:
комментарий
от satanic-mechanic
Ответ на:
комментарий
от seiken
Ответ на:
комментарий
от grob
Ответ на:
комментарий
от grob
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Получить список из листьев дерева (scheme) (2006)
- Форум Упражнение из SICP (2010)
- Форум SICP Упражнение 1.4 (2008)
- Форум Упражнение из SICP (2). (2010)
- Форум Не могу понять одну хрень с if в упражнении из SICP (2013)
- Форум SICP (2024)
- Форум SICP (2009)
- Форум SICP (2009)
- Форум SICP (2009)
- Форум дзен упражнение (2014)