Помогите определить функцию CONS3 от трех аргументов-атомов - Lisp

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

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

Помогите определить функцию CONS3 от трех аргументов-атомов, которая строит список из первого и последнего и делает его хвостом второго.

Решение задачи: «Помогите определить функцию CONS3 от трех аргументов-атомов»

textual
Листинг программы
(defun graftage (a b c)
  (cons a (cons (cons b (cons a (cons c nil))) (cons c nil))))
 
> (graftage 10 100 1000)
(10 (100 10 1000) 1000)

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

В этом коде определена функция с именем graftage, которая принимает три аргумента a, b и c. Она возвращает список, построенный с использованием функции cons, которая добавляет новый элемент в начало списка. В данном случае, функция graftage создает список, в котором первый элемент - это a, затем следует b, а затем c. Если мы применим функцию graftage к аргументам 10, 100 и 1000, то получим следующий результат:

  1. Создается новый список с a в качестве первого элемента.
  2. К этому списку добавляется новый список, содержащий b и a.
  3. К полученному списку добавляется новый список, содержащий c и a.
  4. Наконец, к полученному списку добавляется c. Таким образом, результатом выполнения функции graftage с аргументами 10, 100 и 1000 будет список (10 (100 10 1000) 1000).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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