Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.63/41: Рейтинг темы: голосов - 41, средняя оценка - 4.63
 Аватар для Sanek12Rus
3 / 3 / 0
Регистрация: 09.11.2008
Сообщений: 159

Найти внучатого: племянника и племянницу

02.06.2010, 10:08. Показов 7873. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам


Помогите пожалуйста найти внучатого: племянника и племянницу
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.06.2010, 10:08
Ответы с готовыми решениями:

Пишу блокер для племянника
Небольшая предыстория Вообщем хочу написать что то типа вшивки в систему которая бы не давала запускать приложения после исчерпания...

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

Создать правило определения предиката ПЛЕМЯННИКА
Добрый вечер,помогите разобратся с заданием Пока что есть вот такое,нужно добавить сюда правило для нахождения племянника,немного...

21
 Аватар для Sanek12Rus
3 / 3 / 0
Регистрация: 09.11.2008
Сообщений: 159
05.06.2010, 08:54  [ТС]
помогите пожалуйста
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
05.06.2010, 16:59
Помощи надо просить, когда основную часть сделаете сами. Вы хотя бы факты сами опишите. А дальше Ваша задача элементарно решается
Prolog
1
2
p(X,Y):-parent(P,X),parent(P,Z),not(X=Z),%Z- это брат или сестра X
    parent(Z,S),parent(S,Y).%S-племяник(ца), Y-внучатый племяник(ца)
1
 Аватар для Sanek12Rus
3 / 3 / 0
Регистрация: 09.11.2008
Сообщений: 159
05.06.2010, 20:20  [ТС]
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
predicates
    мама(string,string).
    папа(string,string).
Clauses
   м("Федя").
   м("Вася").
   м("Костя").
   м("Алексей").
   м("Женя").
   м("Сергей").
 
   ж("Наташа").
   ж("Даша").
   ж("Маша").
   ж("Елена").
   ж("Катя").
   ж("Оля").
   ж("Эля").
 
 
 
    мама("Наташа","Даша").
    мама("Даша","Маша").
    мама("Даша","Федя").
    мама("Эля","Женя").
    мама("Катя","Вася").
    мама("Катя","Оля")
    мама("Елена","Ваня").
    мама("Наташа","Костя").
  
    папа("Сергей","Даша").
    папа("Ваня","Федя").
    папа("Ваня","Маша").
    папа("Ваня","Вася").
    папа("Ваня","Оля").
    папа("Алексей","Ваня").
    папа("Сергей","Костя").
    папа("Костя","Женя").
Prolog
1
2
p(X,Y):-parent(P,X),parent(P,Z),not(X=Z),%Z- это брат или сестра X
        parent(Z,S),parent(S,Y).%S-племяник(ца), Y-внучатый племяник(ца)
а как правильней туда впихнуть это...недавно только начал изучать...немного не догоняю((
0
Заблокирован
05.06.2010, 20:38
наверно ненадо разделять parent на мама и папа, тем более что у вас род указан в программе, если ж(Наташа) и Parent(Наташа,даша) то и так понятно что наташа это мама а не папа. Вместо слов "мама" и "папа" в программе везде пишите parent и добавьте предикат
"p" который предложила Грымзик

Добавлено через 10 минут
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
predicates
    mama(string,string)
    papa(string,string)
    m(string)
    zh(string)    
    parent(string,string)
    p(string,string)
Clauses      
 
    parent(X,Y):-
        mama(X,Y).
    parent(X,Y):-
        papa(X,Y).
        
    p(X,Y):-
        parent(P,X),
        parent(P,Z),
        not(X=Z),
        parent(Z,S),
        parent(S,Y).
 
    m("Fedia").
    m("Vasia").
    m("Kostia").
    m("Alekseiy").
    m("ZHenia").
    m("Sergeiy").
    
    zh("Natasha").
    zh("Dasha").
    zh("Masha").
    zh("Elena").
    zh("Katia").
    zh("Olia").
    zh("Elia").
    
    mama("Natasha","Dasha").
    mama("Dasha","Masha").
    mama("Dasha","Fedia").
    mama("Elia","ZHenia").
    mama("Katia","Vasia").
    mama("Katia","Olia").
    mama("Elena","Vania").
    mama("Natasha","Kostia").
    
    papa("Sergeiy","Dasha").
    papa("Vania","Fedia").
    papa("Vania","Masha").
    papa("Vania","Vasia").
    papa("Vania","Olia").
    papa("Alekseiy","Vania").
    papa("Sergeiy","Kostia").
    papa("Kostia","ZHenia").
возможно так,непроверял
1
 Аватар для Sanek12Rus
3 / 3 / 0
Регистрация: 09.11.2008
Сообщений: 159
05.06.2010, 21:02  [ТС]
Спасибо)) вроде как получилось)

Добавлено через 34 секунды
Цитата Сообщение от rrrFer Посмотреть сообщение
наверно ненадо разделять parent на мама и папа, тем более что у вас род указан в программе, если ж(Наташа) и Parent(Наташа,даша) то и так понятно что наташа это мама а не папа. Вместо слов "мама" и "папа" в программе везде пишите parent и добавьте предикат
"p" который предложила Грымзик

Добавлено через 10 минут
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
predicates
    mama(string,string)
    papa(string,string)
    m(string)
    zh(string)    
    parent(string,string)
    p(string,string)
Clauses      
 
    parent(X,Y):-
        mama(X,Y).
    parent(X,Y):-
        papa(X,Y).
        
    p(X,Y):-
        parent(P,X),
        parent(P,Z),
        not(X=Z),
        parent(Z,S),
        parent(S,Y).
 
    m("Fedia").
    m("Vasia").
    m("Kostia").
    m("Alekseiy").
    m("ZHenia").
    m("Sergeiy").
    
    zh("Natasha").
    zh("Dasha").
    zh("Masha").
    zh("Elena").
    zh("Katia").
    zh("Olia").
    zh("Elia").
    
    mama("Natasha","Dasha").
    mama("Dasha","Masha").
    mama("Dasha","Fedia").
    mama("Elia","ZHenia").
    mama("Katia","Vasia").
    mama("Katia","Olia").
    mama("Elena","Vania").
    mama("Natasha","Kostia").
    
    papa("Sergeiy","Dasha").
    papa("Vania","Fedia").
    papa("Vania","Masha").
    papa("Vania","Vasia").
    papa("Vania","Olia").
    papa("Alekseiy","Vania").
    papa("Sergeiy","Kostia").
    papa("Kostia","ZHenia").
возможно так,непроверял
спасибо)) уже получилось)

Добавлено через 8 минут
только, что-то странно ввожу parent("Elena",любые (X,Y,Z,S)) он все время выводит Vania
0
Заблокирован
05.06.2010, 21:10
потому что у елены 1 потомок (как раз ваня)
1
 Аватар для Sanek12Rus
3 / 3 / 0
Регистрация: 09.11.2008
Сообщений: 159
15.06.2010, 21:06  [ТС]
Доброго времени суток..... не получается почему-то...Грымзик
нет решения......
в проге надо..когда вводишь допустим Алексея..должен найти Женю и т.д Сергей - Васю...
если племянницу то Наташа - Оля..
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
15.06.2010, 21:26
Все правильно, ведь у Вас же Алексей не является братом Сергея-дедушки Жени. И с остальными примерами то же самое.
0
 Аватар для Sanek12Rus
3 / 3 / 0
Регистрация: 09.11.2008
Сообщений: 159
15.06.2010, 21:29  [ТС]
А если добавить еще родителей(маму и папу)...
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
15.06.2010, 21:53
Что Вы спрашиваете, Вы сначала попробуйте. Придумайте общую маму для Сергея и Алексея.
0
 Аватар для Sanek12Rus
3 / 3 / 0
Регистрация: 09.11.2008
Сообщений: 159
15.06.2010, 22:00  [ТС]
а если так??
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
15.06.2010, 22:04
Ну Вы в код это вставить можете?
0
 Аватар для Sanek12Rus
3 / 3 / 0
Регистрация: 09.11.2008
Сообщений: 159
15.06.2010, 22:25  [ТС]
Prolog
1
2
3
4
5
mama("Kristina","Sergeiy").
mama("Kristina","Alekseiy").
 
papa("Oleg","Alekseiy").
papa("Oleg","Sergeiy").
вроде так? но выводит ток родителей..если ввожу Женю
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
15.06.2010, 22:37
При запросе p("Alekseiy",X). выдаются все внучатые племянники Алексея.
1
 Аватар для Sanek12Rus
3 / 3 / 0
Регистрация: 09.11.2008
Сообщений: 159
16.06.2010, 00:06  [ТС]
ааааа спасибо)))) я чет не догнал про "p"

Добавлено через 1 час 24 минуты
вот еще маленький вопросик
хочу Воспользовавшись предикатами ввода-вывода добавить внутреннюю цель.

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
72
73
74
domains
s=string
predicates
    mama(string,string)
    papa(string,string)
    m(string)
    zh(string)    
    parent(string,string)
    p(string,string)
    xex(integer)
 
Clauses      
 
    parent(X,Y):-
        mama(X,Y).
    parent(X,Y):-
        papa(X,Y).
        
    p(X,Y):-
        parent(P,X),
        parent(P,Z),
        not(X=Z),
        parent(Z,S),
        parent(S,Y),!.
        
 
    m("Fedia").
    m("Vasia").
    m("Kostia").
    m("Alekseiy").
    m("ZHenia").
    m("Sergeiy").
    
    zh("Natasha").
    zh("Dasha").
    zh("Masha").
    zh("Elena").
    zh("Katia").
    zh("Olia").
    zh("Elia").
    
    mama("Natasha","Dasha").
    mama("Dasha","Masha").
    mama("Dasha","Fedia").
    mama("Elia","ZHenia").
    mama("Katia","Vasia").
    mama("Katia","Olia").
    mama("Elena","Vania").
    mama("Natasha","Kostia").
    mama("Kristina","Sergeiy").
    mama("Kristina","Alekseiy").
    
    
    papa("Sergeiy","Dasha").
    papa("Vania","Fedia").
    papa("Vania","Masha").
    papa("Vania","Vasia").
    papa("Vania","Olia").
    papa("Alekseiy","Vania").
    papa("Sergeiy","Kostia").
    papa("Kostia","ZHenia").
    papa("Oleg","Alekseiy").
    papa("Oleg","Sergeiy").
    
xex(X):-Z=1,write("Vvedite name Vny4atogo Plem-ka ->"),readln(X),p(X,Y),nl,write(Z),fail.
xex(X):-Z=2,write("Vvedite name Vny4atogo Plem-ka ->"),readln(X),p(X,Y),nl,write(Z),fail.
xex(X):-Z=3,write("Vvedite name vny4atoi Plem-cu ->"),readln(X),p(X,Y),nl,write(Z),fail.
xex(X):-Z=4,write("Vvedite name vny4atoi Plem-cu ->"),readln(X),p(X,Y),nl,write(Z),fail.  
 
GOAL
 
makewindow(1,7,3,"xex",0,0,25,80),
write("Programma ushet vseh Vny4atuh plem9nnikov i plem9nnic"),nl,
write("Kogo iskat Vny4atogo Plem-ka y sestri(1) ili vny4atyu Plem-cy y sestri(2);Vny4atogo Plem-ka y brata(3) ili vny4atyu Plem-cy y brata(4)"),readint(Z),xex(Z),fail.
помоги исправить((( не выводится
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
16.06.2010, 00:09
В определении xex ошибка, посмотри на переменные.
0
 Аватар для Sanek12Rus
3 / 3 / 0
Регистрация: 09.11.2008
Сообщений: 159
16.06.2010, 00:29  [ТС]
я тут ошибся( .... вот ввел Алексея и вывелась цифра 1
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
16.06.2010, 00:33
Ну конечно у Вас работать не будет. Я же сказала, что надо исправить переменные.
xex(X):-Z=1,write("Vvedite name Vny4atogo Plem-ka ->"),readln(X),p(X,Y),nl,write(Z),fail .
Разберитесь где X, а где Z надо ставить.
0
 Аватар для Sanek12Rus
3 / 3 / 0
Регистрация: 09.11.2008
Сообщений: 159
16.06.2010, 22:11  [ТС]
не получается ничего...
может совсем по другому??
Внучатого племянника у брата(1) брата у внучатого племянника (2)
как можно сделать это?

Добавлено через 7 часов 17 минут
??=(((((((((

Добавлено через 4 часа 53 минуты
Prolog
1
2
3
4
5
6
7
xex(X):-X=1,write("Vvedite name Vny4atogo Plem-ka ->"),readln(Z),p(B,Z),nl,write(B),fail.
xex(X):-X=2,write("Vvedite name Vny4atogo Plemyannici ->"),readln(Z),p(B,Z),nl,write(B),fail.
xex(X):-X=3,write("Vvedite name Brata ->"),readln(B),p(B,Z),nl,write(Z),fail.
 
 
write("Programma ushet vseh Vny4atuh plem9nnikov i plem9nnic"),nl,
write("Kogo iskat Vny4atogo Plem-ka y brata(1) uJIu Vny4atuy Plem-cy y brata(2);Brata po plem-cam ulu plem-kam(3)"),readint(X),xex(X),fail.
по первому и второму пункту получается...а по третьему не доконца выводится(((((( ввожу Алексея... выводится только Маша..=///

Грымзик, помоги пожалуйста...для тебя это легко...без особых услий..
не лезет этот пролог в голову(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.06.2010, 22:11
Помогаю со студенческими работами здесь

Комплектация для племянника «на вырост» бюджет 20-50 т.р. Спб
Привет профессионалам! Свой компьютер собирал последний раз более 15 лет назад. Руки помнят, голова новинок не знает))) Хочу...

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru