Функция, проверяющая, одинаковы ли элементы в списке - Lisp
Формулировка задачи:
необходимо реализовать простейшую функцию, которая проверяет, одинаковы ли элементы в списке.
Решение задачи: «Функция, проверяющая, одинаковы ли элементы в списке»
textual
Листинг программы
(defun eqq (w) (if (cdr w) (when (equal (car w) (cadr w)) (eqq (cdr w))) t)) > (eqq '(a a)) T > (eqq '(a b)) NIL
Объяснение кода листинга программы
В коде определена функция eqq
с одним аргументом w
. Если w
не является пустым списком ((cdr w)
), то выполняется следующая последовательность действий:
- Проверяется, являются ли первый и второй элементы списка одинаковыми (
(car w)
и(cadr w)
). - Если они равны, то рекурсивно вызывается функция
eqq
для оставшейся части списка(cdr w)
. - Если они не равны, то функция
eqq
возвращаетt
. - Если список пустой, то функция
eqq
возвращаетt
. Примеры использования функции: - Для списка
(a a)
вернетt
, так как первый и второй элементы равны. - Для списка
(a b)
вернетnil
, так как первый и второй элементы не равны.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д