1 / 1 / 0
Регистрация: 11.05.2014
Сообщений: 147
1

Можно как-то подправить код? Необходимо вывести всех кровных родственников, используя рекурсию

21.02.2015, 22:36. Показов 787. Ответов 1
Метки нет (Все метки)

подскажите, пожалуйста, как вывести всех кровных родственников, включая брата и сестру? пока мне удается вывести только родителей и предков.
надо как-то использовать рекурсию, но у меня пока расплывчатое понятие о ней.
тестя и невестку за кровных родственников не считаю)
подскажите, пожалуйста. рисунок чуть ниже
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
rod( ivan, pasha).
rod( ivan, oly).
rod( lena, pasha).
rod( lena, oly).
rod( ira, dima).
rod( ira, vera).
rod( pasha, dima).
rod( pasha, vera). 
rod( oly, oleg).
rod( oly, nasty).
rod( vlad, oleg).
rod( vlad, nasty).
 
man( ivan).
man( pasha).
man( vlad).
man( dima).
man( oleg). 
 
women( lena).
women( ira).
women( oly).
women( vera).
women( nasty).
 
sister( X, Y) :-
rod( Z, X),
rod( Z, Y),
women( X),
X \==Y.
 
kuziny( X, Y) :-
rod( Z, X),
rod( Z, Y),
X \==Y.
 
twosister( X, Y) :-
kuziny( F, M),
rod( F, X),
rod( M, Y),
women( X),
X \==Y.
 
tesha( X, Y) :-
rod( X, F),
women( X),
rod( F, P), 
rod( Y, P),
man( Y). 
 
 
reb( Y, X) :-
rod( X, Y).
 
ofc( X, Y) :-
rod( Y, X).
 
ofc( X, Y) :-
rod( Y, Z),
ofc( X, Z).
 
predok( X, Y) :-
reb( Y, X).
 
predok( X, Y) :-
reb( Y, Z),
predok( X, Z).
 
rodstvo( X, Y):- 
predok( X, Y) ;
ofc( Z, Y).
Можно как-то подправить код? Необходимо вывести всех кровных родственников, используя рекурсию
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2015, 22:36
Ответы с готовыми решениями:

Найти всех кровных родственников. Как связать, например, брата и сестру, которые имеют одних родителей?
рекурсивно найти всех кровных родственник(тесть и невестка не в счёт). получается только найти...

необходимо подправить код
Помогите пожалуйста переделать код проги на паскале Она запускается но вычисления получаются...

Необходимо открыть dll и подправить код
Нужна помощь. Необходимо открыть dll и подправить код. Исходников конечно же нет :( Править через...

Подсчет суммы всех чисел до заданного числа, используя рекурсию
Напишите пример как подсчитать сумму всех чисел до (например 6) используя рекурсию !!

1
1 / 1 / 0
Регистрация: 11.05.2014
Сообщений: 147
21.02.2015, 23:02  [ТС] 2
reb - ищет детей, ofc - потомков))

Добавлено через 20 минут
еще в последней строке
ofc(X,Y).
дико извиняюсь. просто экспериментировал
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.02.2015, 23:02
Помогаю со студенческими работами здесь

Определить суммарную стоимость всех товаров, используя рекурсию (VBA)
Всем привет! Помогите, пожалуйста, доделать работу. Нужно определить суммарную стоимость всех...

Используя рекурсию, определить, можно ли по дорогам попасть из 1-го пункта в N-ый
Имеется 10 населенных пунктов. Дана последовательность пар чисел пар чисел I и J (I<J),...

Вывести последовательность, используя рекурсию
Дана последовательность из N количества элементов. Вывести эту последовательность в обратном...

Подправьте код пожалйста. Вычислить суму используя рекурсию
Подправьте код пожалуйста, программа компилируется, но при вводе входных данных введя любое число,...

Используя рекурсию, определить, можно ли по этим дорогам попасть из 1-го пункта в N-ый
Помогите пожалуйста написать код. Вот задание: Имеется 10 населенных пунктов. Дана...

Вывести все числа Фибоначчи, используя рекурсию
По заданию нужно вывести все числа Фибоначчи. Использовать рекурсию. using System; using...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru