Здравствуйте, Дм.Григорьев, Вы писали:
Т>>Т>>(define (sum from total)
Т>> (if (= 0 from)
Т>> total
Т>> (sum (- from 1) (+ total from))))
Т>>
ДГ>Выглядит всё равно заумно, ни на грамм не проще императивного цикла.
Да пример просто неудачный. Любой нормальный человек сумму арифметической прогрессии посчитает по формуле, а не итеративно
А если чуток изменить и считать сумму списка произвольных чисел, то на Схеме это будет:
(reduce-left + 0 list-of-numbers)
... а на J:
+/ lon
Здравствуйте, Vintik_69, Вы писали:
FR>>Посмотрел, но не понял что мешает там развернуть циклы в рекурсию.
V_>Ничего не мешает, но это будет не очень просто в отличие от императивного стиля. Вообще многие алгоритмы на графах по сути своей императивны и плохо переносятся на чистые функциональные языки.
А почему "не очень просто", если изначально он описан рекуррентно?
... << RSDN@Home 1.2.0 alpha rev. 655>>