Функция суммы попарных слагаемых двух списков - Lisp

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста! Нужно написать функцию с использованием макросов и функционалов, которая вычисляет сумму попарных слагаемых двух целочисленных списков.

Решение задачи: «Функция суммы попарных слагаемых двух списков»

textual
Листинг программы
(defun super-sum (&rest s)
  (apply '+ (apply 'append s)))
 
==> super-sum
 
(super-sum '(1 2 3) '(4 5 6) '(7 8 9))
 
==> 45

Объяснение кода листинга программы

В коде определена функция с именем super-sum. Функция принимает произвольное количество аргументов, которые должны быть списками. Внутри функции происходит следующее:

  1. Аргументы функции передаются в оператор APPLY, который применяет функцию 'append к каждому аргументу. Результатом этого действия является список, объединяющий все переданные аргументы.
  2. Результат операции APPLY передается в оператор APPLY, который применяет функцию '+' к каждому элементу списка. Результатом этого действия является сумма всех элементов списка.
  3. Результат операции APPLY возвращается в качестве результата работы функции SUPER-SUM. Следующий фрагмент кода демонстрирует использование функции SUPER-SUM: (super-sum '(1 2 3) '(4 5 6) '(7 8 9)) В этом фрагменте кода функция SUPER-SUM применяется к трём спискам: '(1 2 3), '(4 5 6) и '(7 8 9). Результатом выполнения этого выражения будет число 45.

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы