| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Prolog > Решение логических задач. |
| Автор: Линус 9.1.2015, 19:45 |
| Три друга заняли первое, второе, третье места в соревнованиях универсиады. Друзья разной национальности, зовут их по-разному, и любят они разные виды спорта. Майкл предпочитает баскетбол и играет лучше, чем американец. Израильтянин Саймон играет лучше теннисиста. Игрок в крикет занял первое место. Кто является австралийцем? Каким спортом увлекается Ричард? nation(austrian). nation(american). nation(israeli). sport(basketball). sport(tennis). sport(criket). name(mikl). name(saimon). name(richard). prize(1). prize(2). prize(3). soot(N,Nat,S,M):-nation(Nat),sport(S),name(N),prize(M),N=mikl,S=basketball,not(S=tennis),not(S=criket),not(Nat=american),not(Nat=israeli),not(M=1), not(M=3). soot(N,Nat,S,M):-nation(Nat),sport(S),name(N),prize(M),N=saimon,S=criket, not(S=tennis),not(S=basketball),Nat=israeli,not(Nat=american),not(Nat=austrian),not(M=3). soot(N,Nat,S,M):-nation(Nat),sport(S),name(N),prize(M),N=richard, not(S=basketball),Nat=american,not(Nat=israeli),M=3. Решила задачу, но не могу объяснить на языке SWI Prolog, помогите пожалуйста. |
| Автор: rrrFer 10.1.2015, 03:05 |
| http://pro-prof.com/archives/1299 Там есть пошаговое объяснение твоей задачи. |
| Автор: Линус 10.1.2015, 11:15 |
| Мне вот так надо объяснить,а я так не могу. A :- B_1, B_2. % правило читается как : Если B_1 и B_2, то A нечетное_простое(Число) :- простое(Число), нечетное(Число). % Если "Число" - простое и нечетное, то "Число" - нечетное_простое |