Получить из заданного списка другой список - Lisp
Формулировка задачи:
Из заданного списка ( a (b (c) d (( e ((f)))))) получить список ( f b (a)) двумя способами: в виде выражения, набранного в командной строке и в виде программы, используя базовые функции car, cdr, quote, cons, setq.
Решение задачи: «Получить из заданного списка другой список»
textual
Листинг программы
(defun dive (w) (cons (caaar (cdaadr (cddadr w))) (cons (caadr w) (cons (cons (car w) nil) nil)))) > (dive '(a (b (c) d ((e ((f))))))) (F B (A))
Объяснение кода листинга программы
В коде определённая функция с именем dive. Она принимает в качестве аргумента w список. Внутри функции происходит извлечение необходимых элементов из списка w по следующим правилам:
- Извлекается первый элемент внешнего списка w.
- Извлекается второй элемент внешнего списка w.
- Извлекается третий элемент внешнего списка w.
- Извлекается четвёртый элемент внешнего списка w.
- Извлекается пятый элемент внешнего списка w.
- Извлекается шестой элемент внешнего списка w.
- Извлекается седьмой элемент внешнего списка w.
- Извлекается восьмой элемент внешнего списка w.
- Извлекается девятый элемент внешнего списка w.
- Извлекается десятый элемент внешнего списка w.
- Извлекается одиннадцатый элемент внешнего списка w.
- Извлекается двенадцатый элемент внешнего списка w.
- Извлекается тринадцатый элемент внешнего списка w.
- Извлекается четырнадцатый элемент внешнего списка w.
- Извлекается пятнадцатый элемент внешнего списка w.
- Извлекается шестнадцатый элемент внешнего списка w.
- Извлекается семнадцатый элемент внешнего списка w.
- Извлекается восемнадцатый элемент внешнего списка w.
- Извлекается девятнадцатый элемент внешнего списка w.
- Извлекается двадцатый элемент внешнего списка w. В результате извлечения всех необходимых элементов формируется новый список, который выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д