1 / 1 / 1
Регистрация: 18.03.2018
Сообщений: 138
|
|||||||||||
1 | |||||||||||
Понять принцип работы функции, находящую теоретико-множественную разность двух списков21.12.2021, 17:48. Показов 988. Ответов 3
Доброго времени суток, господа.
Предо мной поставлена такая задача: Разработать функцию, находящую теоретико-множественную разность двух списков. Код, который бы решал эту задачу я нашёл, но хотелось бы разобраться в сути решения, как работает этот код всё понять не могу даже с трассировкой.
Мои мысли: 1. Объявляется функция difference с двумя параметрами w и v 2. Объявляются 3 условия для оператора cond из них 2.1. ((null w) w) - я так понял тут проверяется каждый элемент списка w на null, если нет null-ов, то возвращается nil 2.2. ((member (car w) v) (difference (cdr w) v)) - Функция member проверяет, находится ли первый аргумент внутри списка , представленного вторым аргументом, то есть member проверяет находится ли первый элемент (голова списка) w (1) в списке v (4 5 6) и после функция вызывает саму себя с аргументами, равными конечному элементу списка w (5) и v (456) и после я теряю связь с реальностью, т.к не могу такую вложенность уместить у меня в голове ☺
0
|
21.12.2021, 17:48 | |
Ответы с готовыми решениями:
3
Определите предикат p(+U, +V, ?L) вычисляющий теоретико-множественную разность U\V Список: Используя предикат принадлежности элемента списку, разработать функцию, находящую объединение двух списков. Найти теоретико-множественную разницу С = А \ В Найти вектор C, что представляет собой теоретико-множественную разницу эл-в вектора A и эл-в вектора B (А и В =11) Написать функцию, находящую максимум из трех своих аргументов используя функцию максимума из двух |
Модератор
|
||||||||||||||||
21.12.2021, 22:09 | 2 | |||||||||||||||
Сообщение было отмечено _sg как решение
Решение
- нет. Проверяется весь список w - не пуст ли он. Если пуст, то пусто и пересечение. Автор кода немного "выпендрился". Понятнее было бы так:
2
|
4699 / 4394 / 380
Регистрация: 12.05.2012
Сообщений: 3,096
|
||||||
22.12.2021, 09:02 | 3 | |||||
как вариант:
1
|
1 / 1 / 1
Регистрация: 18.03.2018
Сообщений: 138
|
|
22.12.2021, 09:08 [ТС] | 4 |
Понял, спасибо большое вам за объяснение!
0
|
22.12.2021, 09:08 | |
22.12.2021, 09:08 | |
Помогаю со студенческими работами здесь
4
Определите предикат p(+U, +V, ?L) вычисляющий симметрическую разность двух списков Разработать функцию, находящую сумму элементов с нечетными номерами Разработать функцию, находящую сумму элементов с нечетными номерами в заданном списке чисел Описать функцию находящую среднее арифметическое двух чисел Определить функцию, находящую максимум из двух различных чисел. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |