Оп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, что означает, что первое множество не является подмножеством второго.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д