defun sum (L)
(reduce '+ L))
Lisp, задача на функционалы
Цитата:
Список содержит ежедневные сведения о количестве осадков, выпавших за весьма длительный период. Напишите функционал, позволяющий по этому списку оперативно выяснять различные сведения, наподобие:
суммарный объем осадков;
максимальное количество осадков в день;
минимальное количество осадков в день;
максимальная разница в количестве осадков в соседние дни.
суммарный объем осадков;
максимальное количество осадков в день;
минимальное количество осадков в день;
максимальная разница в количестве осадков в соседние дни.
Сам пробую сделать задачу, но пока что понял такое :
Мне надо написать функционал, где среди его 2-х аргументов будет 1-а функция и 1-н список ...
мне надо написать я так понимаю 4 функции + сам функционал :
1-я будет суммировать всё элементы списка, наверно через рекурсию, хотя поискал в нете и нашел такое чудо готовое
Код:
2-я і 3-я єто макс. и мин, нашел 2 функции что работаю
Код:
( max, min )
но проблема в том что если я пишу
Код:
( princ ( max 1 2 3 ) ) ->
выводит нормально цифру 3, а если я делаю так
Код:
( setq xz( read ) ) ( princ ( max xz ) )
- выдает целый список ( 1 2 3 ) а не просто цифру 3 ...
и последняя 4-я функция максимальная разница как сделать я уже не знаю ...
Посмотрев на это всё - не представляю как написать этот функционал ...