|
|
|
fivebitsQ |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 10.5.2015 Репутация: нет Всего: нет |
Помогите разобрать программу по коду, как она работает, алгоритм
ПОСТАНОВКА ЗАДАЧИ. Кондратьев, Давыдов и Федоров живут на одной улице. Один из них - столяр, другой - маляр, третий - водопроводчик. Недавно маляр хотел попросить своего знакомого столяра сделать кое-что для своей квартиры, но ему сказали, что столяр работает в доме водопроводчика. Известно также, что Федоров никогда не слышал о Давыдове. Определите, кто чем занимается. ЛИСТИНГ ПРОГРАММЫ: domains slist=string* man=m(string,string). men=man* predicates permutation(slist,slist). insert(string,slist,slist). solve(men). z(string,string). znakomi(string,string). clauses permutation([],[]). permutation([H|Tail],P):-permutation(Tail,PTail),insert(H,PTail,P). insert(X,L,[X|L]). insert(X,[H|Tail],[H|NewTail]):-insert(X,Tail,NewTail). z("malyar","stolyar"). z("stolyar","vodoprovodchik"). znakomi(A,B):-z(A,B);z(B,A). solve([m("Kondratiev",A),m("Davidov",B),m("Fedotov",C)]):- permutation(["stolyar","malyar","vodoprovodchik"],[A,B,C]), not(znakomi(B,C)). goal solve(Ans), write(Ans),nl. |
|||
|
||||
Правила форума Prolog | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Prolog | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |