Форум программистов, компьютерный форум, киберфорум
Наши страницы
Prolog
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.58/12: Рейтинг темы: голосов - 12, средняя оценка - 4.58
1366613
1 / 1 / 0
Регистрация: 25.02.2014
Сообщений: 9
1

Определить предикат предок и найти всех предков и предков конкретного лица

25.02.2014, 06:39. Просмотров 2291. Ответов 8
Метки нет (Все метки)

ОЧЕНЬ нужна помощь!
Задача такая:
Определить предикат предок и найти всех предков и предков конкретного лица.
Может кто-нибудь помочь?
Само древо - не важно, можно любое в принципе.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2014, 06:39
Ответы с готовыми решениями:

Определить предикат предки по женской линии и найти всех предков по женской линии и предков конкретного лица
Здравствуйте! Помогите пожалуйста решить задау на ТУРБО ПРОЛОГЕ. Определить предикат предки по...

Определить предикат "Брат" и найти всех братьев конкретного лица
Определить предикат брат и найти всех братьев конкретного лица. не выходит решение помогите решить...

Определить предикат прадедушка и найти всех прадедушек и прадедушек конкретного лица (Visual Prolog)
Определить предикат прадедушка и найти всех прадедушек и прадедушек конкретного лица на visual...

Найти всех предков человека с номером p
заданы n человек и два массива натуральных чисел mother и father, такие, что mother – номер матери...

Выбрать всех предков в один запрос
Есть таблица +----+--------+ | id | parent | +----+--------+ | 2 | NULL | | 3 | 2 |...

8
rrrFer
Заблокирован
27.02.2014, 08:40 2
поиск по форуму не помог?
Вот тут: Задача про нахождение родственников на генеологическом дереве
дали хороший ответ. Мне нравится.
0
1366613
1 / 1 / 0
Регистрация: 25.02.2014
Сообщений: 9
27.02.2014, 08:46  [ТС] 3
rrrFer, неа, там не по теме вообще то
0
rrrFer
Заблокирован
27.02.2014, 10:56 4
Цитата Сообщение от 1366613 Посмотреть сообщение
rrrFer, неа, там не по теме вообще то
там все по теме.
Чтобы найти предка надо описать генеалогическое древо. Ты пишешь, что тебе не важно какое там древо. В примере по ссылке древо уже описано.
А самое важное - это хороший ответ, который там есть.
По запросу "родственные отношения" в разделе пролога вываливается в районе 25-30 тем.

Но можно попробовать уточнить что конкретно у вас не получается.
0
1366613
1 / 1 / 0
Регистрация: 25.02.2014
Сообщений: 9
27.02.2014, 10:59  [ТС] 5
не получается найти предков конкретного лица..
0
rrrFer
Заблокирован
27.02.2014, 11:08 6
Prolog
1
2
предки_конкретного_лица(Лицо, Предки):-
  findall(Предок, предок(Предок, Лицо), Предки).
И это правильный код, я проверил.

Или надо уточнить вопрос. Но чтобы начали отвечать, надо показать, что ты не лентяй и показать что пытался что-то делать сам.
0
1366613
1 / 1 / 0
Регистрация: 25.02.2014
Сообщений: 9
18.03.2014, 05:49  [ТС] 7
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
DOMAINS /* а*§¤Ґ« ®ЇЁб**Ёп ¤®¬Ґ*®ў */
s=string /* ўў®¤Ё¬ бЁ*®*Ё¬ ¤«п бва®Є®ў®Ј® вЁЇ* ¤***ле */
 
PREDICATES /* а*§¤Ґ« ®ЇЁб**Ёп ЇаҐ¤ЁЄ*в®ў */
man(s)
woman(s)
parent(s,s)
father(s,s)
mother(s,s) /* ЇаҐ¤ЁЄ*в  Ё¬ҐҐв ¤ў* *аЈг¬Ґ*в*
               бва®Є®ў®Ј® вЁЇ* */
son(s,s)
doughter(s,s)
brother(s,s)
uncle(s,s)
pred(s,s)
 
CLAUSES /* а*§¤Ґ« ®ЇЁб**Ёп ЇаҐ¤«®¦Ґ*Ё© */
man("sergey").
man("viktor").
man("petr").
man("nikolay").
man("artem").
 
woman("nina").
woman("ludmila").
woman("irina").
woman("olga").
 
 
parent("nina","viktor").
parent("viktor","sergey").
parent("ludmila","sergey").
parent("nina","petr").
parent("nikolay","viktor").
parent("nikolay", "petr").
parent("petr", "artem").
parent("irina", "artem").
 
 
father(X,Y) :- man(X), parent(X,Y).
mother(X,Y) :- woman(X), parent(X,Y).
 
son(X,Y) :- man(X), mother(Y,X).
son(X,Y) :- man(X), father(Y,X).
 
doughter(X,Y) :- woman(X), mother(Y,X).
doughter(X,Y) :- woman(X), father(Y,X).
 
brother(X,Y) :- son(X,Z), son(Y,Z), X<>Y.
brother(X,Y) :- son(X,Z), doughter(Y,Z), X<>Y.
 
uncle(X,Z) :- brother(X,Y), mother(Y,Z).
uncle(X,Z) :- brother(X,Y), father(Y,Z).
/*
…б«Ё • пў«пҐвбп Ўа*⮬ Y, Ё Y пў«пҐвбп ¬*вҐамо Z, в® • пў«пҐвбп ¤п¤Ґ© Z
*/
 
pred(X,Y) :- woman(X), parent(X,Y).
 
 /* Предок (Ђ,Ѓ) Ґб«Ё ЇаҐ¤®Є(Ѓ,Ђ),
в.Ґ. "Ђ пў«пҐвбп Ї®в®¬Є®¬ Ѓ, Ґб«Ё Ѓ - ЇаҐ¤®Є Ђ".
*/
rrrFer, ну вот я сделал, непонятно что он выводит в итоге, там не только предки одного лица а все предки, вроде как...
1
rrrFer
Заблокирован
18.03.2014, 10:24 8
У вас в коде точки входа я не нашел. Что вы там вызываете не понятно.
Все тот же предикат pred можно использовать по разному. Можно им, например, всех матерей найти.

Копипастить код бездумно не надо. Надо сесть и разобраться с тем, что содрали и что от вас требуют.
Содрали вы код, который почти никак не относится к вашей задаче (тут по делу только 8 строчек)
0
1366613
1 / 1 / 0
Регистрация: 25.02.2014
Сообщений: 9
19.03.2014, 12:23  [ТС] 9
rrrFer, не в службу а в дружбу, помогите пожалуйста, так по человечески просто, для вас эта задача вообще может быть мелочь, а мне просто напросто некогда углублятся, серьезно...
0
19.03.2014, 12:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2014, 12:23

Генеалогическое древо. Паспортные данные членов некоторого родового клана; ссылки на детей (или на родителей). Поиск всех потомков или всех предков дл
помогите пожалуйста решить, срочно, заранее спасибо Добавлено через 2 часа 54 минуты как найти...

Как уговорить предков?
Всем привет. На данный момент мне 16 и я зарабатываю фрилансом и летом на каникулах хочу снять...

Порядок инициализации предков
class A {...}; class B {...}; class C : A,B { private: int Var; public: C(const int...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru