Опpеделить пpедикат, проверяющий, является ли одно множество подмножеством другого - Lisp
Формулировка задачи:
не справляюсь с этим чудо-языком.. буду благодарен помощи в решении задач:
Опpеделить пpедикат, проверяющий, является ли одно множество подмножеством дpугого.
Решение задачи: «Опpеделить пpедикат, проверяющий, является ли одно множество подмножеством другого»
textual
Листинг программы
(defun is-subset (a b) (cond ((null a) t) ((member (car a) b) (is-subset (cdr a) b)) (t nil))) ==> is-subset (is-subset '(x y) '(a c v x z y)) ==> T (is-subset '(x y) '(a c v z y)) ==> NIL
Объяснение кода листинга программы
В коде определён вспомогательный функциональный символ с именем is-subset, который проверяет, является ли одно множество подмножеством другого. При вызове функционального символа is-subset со списочными аргументами ('(x y)) и ('(a c v x z y)) возвращается значение T, что означает, что первое множество является подмножеством второго. При вызове функционального символа is-subset со списочными аргументами ('(x y)) и ('(a c v z y)) возвращается значение NIL, что означает, что первое множество не является подмножеством второго.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д