Решение S-выражений - Lisp
Формулировка задачи:
Ребят кто разбирается в этом хорошо помогите немогу понять как зделать.
Я вот пытаюсь зделать но оно нехочет работать(
Под именем w ввести список (4 5 6 7 8 9). Потом ввести S-выражение, которое слаживало бы програму сумирования членов этого списка (виключая первый и последний члены) и сразу же немедленно выполнял эту програму.
Ребят кто разбирается в этом помогите немогу понять как зделать я в Лиспе 0.
Под именем w ввести список (4 5 6 7 8 9). Потом ввести S-выражение, которое слаживало бы програму сумирования членов этого списка (виключая первый и последний члены) и сразу же немедленно выполнял эту програму.
(setq w '(4 5 6 7 8 9)) (cadr(w)=5) (caddr(w)=6) (cadddr(w)=7) (caddddr(w)=8) (plus(plus(cadr(w)(caddr(w))(plus(cadddr(w))(caddddr(w)))
Решение задачи: «Решение S-выражений»
textual
Листинг программы
* (let ((w '(4 5 6 7 8 9))) (reduce #'+ (cdr (butlast w)))) 26
Объяснение кода листинга программы
В данном коде на языке Lisp выполняется следующие действия:
- Создается переменная
w
со значением(4 5 6 7 8 9)
. - Используется функция
reduce
с аргументом#'+ (оператор сложения) для вычисления суммы всех элементов в списке, который получается после удаления последнего элемента из
wс помощью функции
butlast`. - Результатом выполнения кода будет число
26
, которое является суммой всех элементов списка(4 5 6 7 8 9)
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д