Напишите функцию трех аргументов (list3 x y z) такую, что (list3 x y z) = (x y z) - Lisp
Формулировка задачи:
1. Напишите функцию трех аргументов (list3 x y z) такую, что (list3 x y z) = (x y z) для любых символьных выражений; не используйте функцию list.
Решение задачи: «Напишите функцию трех аргументов (list3 x y z) такую, что (list3 x y z) = (x y z)»
textual
Листинг программы
(defun list3 (x y z) (cons x (cons y (cons z nil))))
Объяснение кода листинга программы
В данном коде определена функция с именем list3, которая принимает три аргумента x, y и z. Внутри функции происходит создание нового списка, используя конструктор списков cons.
Список создается следующим образом: сначала добавляется значение аргумента x, затем значение аргумента y, и в конце значение аргумента z. После этого к полученному списку добавляется значение nil, чтобы завершить его.
Таким образом, результат выполнения функции list3 будет равен исходному списку, переданному в качестве аргументов.
Вот список, описывающий код:
- (defun list3 (x y z) (cons x (cons y (cons z nil))))
- Функция
list3определена с тремя аргументамиx,yиz. - Внутри функции создается новый список, используя конструктор списков
cons. - Первый элемент списка - значение аргумента
x. - Второй элемент списка - значение аргумента
y. - Третий элемент списка - значение аргумента
z. - Четвертый элемент списка - значение
nil. - Результат выполнения функции
list3будет равен исходному списку, переданному в качестве аргументов. - (x y z)