Получить из заданного списка другой список - 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 по следующим правилам:

  1. Извлекается первый элемент внешнего списка w.
  2. Извлекается второй элемент внешнего списка w.
  3. Извлекается третий элемент внешнего списка w.
  4. Извлекается четвёртый элемент внешнего списка w.
  5. Извлекается пятый элемент внешнего списка w.
  6. Извлекается шестой элемент внешнего списка w.
  7. Извлекается седьмой элемент внешнего списка w.
  8. Извлекается восьмой элемент внешнего списка w.
  9. Извлекается девятый элемент внешнего списка w.
  10. Извлекается десятый элемент внешнего списка w.
  11. Извлекается одиннадцатый элемент внешнего списка w.
  12. Извлекается двенадцатый элемент внешнего списка w.
  13. Извлекается тринадцатый элемент внешнего списка w.
  14. Извлекается четырнадцатый элемент внешнего списка w.
  15. Извлекается пятнадцатый элемент внешнего списка w.
  16. Извлекается шестнадцатый элемент внешнего списка w.
  17. Извлекается семнадцатый элемент внешнего списка w.
  18. Извлекается восемнадцатый элемент внешнего списка w.
  19. Извлекается девятнадцатый элемент внешнего списка w.
  20. Извлекается двадцатый элемент внешнего списка w. В результате извлечения всех необходимых элементов формируется новый список, который выводится на экран.

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


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

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

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