Написать функцию - Lisp (246237)

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

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

Здравствуйте, помогите пожалуйста выполнить следующие задания Задание 1. Написать функцию, которая для заданных L1 и L2 возвращает список, содержащий первые и последние элементы L1 и L2. Порядок перечисления определяется вторым элементом L2: если это число, то в голове списка должны находиться элементы L1, иначе элементы L2. Правильно ли работает первое задание ?
(defun func (L1 L2)
    (cond 
        ((or (null L1) (null L2)) nil)
         ((numberp (nth 2 L2) )(list (car L1)(last L1)(car L2)(Last L2)))
         (t (list (car L2)(last L2)(car L1)(Last L1))))
  )

Решение задачи: «Написать функцию»

textual
Листинг программы
(defun compose (w
                v
                &aux
                (a (cons (car w) (last w)))
                (b (cons (car v) (last v))))
  (when (and w v)
    (if (numberp (cadr v)) (append a b)
        (append b a))))
 
> (compose '(a b c) '(d e f))
(D F A C)
> (compose '(a b c) '(d 0 f))
(A C D F)
> (compose '() '())
NIL

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

В данном коде реализована функция compose, которая принимает два аргумента — w и v. Список w представляет собой строку, которую необходимо завернуть в обратную сторону. Список v представляет собой строку, которую необходимо завернуть в обратную сторону, но только если второй элемент списка v является числом. Далее, функция compose создает два новых списка — a и b. Список a содержит первые элементы исходных списков w и v, завернутые в обратную сторону. Список b содержит последние элементы исходных списков w и v, завернутые в обратную сторону. Затем, если второй элемент списка v является числом, то функция compose возвращает объединение списков a и b. Если же второй элемент списка v не является числом, то функция compose возвращает обратное объединение списков a и b. Примеры использования функции compose демонстрируют ее работу на различных входных данных.

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


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

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

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