Помогите определить функцию 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, то получим следующий результат:
- Создается новый список с
a
в качестве первого элемента. - К этому списку добавляется новый список, содержащий
b
иa
. - К полученному списку добавляется новый список, содержащий
c
иa
. - Наконец, к полученному списку добавляется
c
. Таким образом, результатом выполнения функцииgraftage
с аргументами 10, 100 и 1000 будет список(10 (100 10 1000) 1000)
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д