Статьи / Задачи с решениями - часть вторая (Задача №7: Область определения и значения отношения)
В статье рассматривается 7 задач и предлагаются детали реализации.
Автор: Потапенко В.А.
Написал: artish   Дата: 2008-09-09 20:10
Комментарии: (0)   Рейтинг:
Задача: Область определения и значения отношения

Написать функцию, которая по заданному отношению возвращает область определения. Написать функцию, которая по заданному отношению возвращает область значений.

Определения:

Прямым декартовым произведением множеств A1,...,An называется множество A1 x ... x An = {<a1,...,an> | a1A1,...,anAn}.

Бинарным отношением между элементами множеств A и B называется любое подмножество R множества A x B. Если A = B, то отношение R называется бинарным отношением на A. Вместо
<x,y>R часто пишут xRy.

Областью определения бинарного отношения R называется множество

Областью значений бинарного отношения R называется множество

Задача сводится к анализу структры представления отношений.
Представление отношений сводится представлению декартового произведения, которое было оговорено в задаче 4.
 
(defun не-могу-придумать-название (set &optional (result nil))
(cond ((null set) result)
((in-predicate (caar set) result)
(не-могу-придумать-название (cdr set) result))
(t (не-могу-придумать-название (cdr set) (cons (caar set) result)))
)
)
 

Тестирование:
 
> (не-могу-придумать-название (cartesian-product '(a b c) '(1 2 3)))
(C B A)
 

Вторая функция пишется по аналогии.
[1] [2] [3] [4] [5] [6] > 7 <


Онлайн :

0 пользователь(ей), 37 гость(ей) :




Реклама на сайте: