Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2011, 21:06   #1
Kawun
Пользователь
 
Регистрация: 26.10.2008
Сообщений: 32
По умолчанию Пролог. Пара задач за вознаграждение

Здравствуйте. Ниже дано условие задачи. Задачу необходимо решить на Прологе. В качестве вознаграждения могу положить денюжку на телефон (мтс, билайн, мегафон), либо перевести WMR на кошелек WebMoney.

Позже опубликую вторую и третью задачи.

Задача 1
Написать предикат, определяющий, что X является бабушкой Y:
Бабушка (X,Y), где X и Y – имена.

Использовать информацию о родителях из следующего предиката:
Родители (X, M, F), где X – Имя ребенка, M – имя мамы, F – имя отца.

Последний раз редактировалось Kawun; 22.11.2011 в 21:17.
Kawun вне форума Ответить с цитированием
Старый 23.11.2011, 04:21   #2
прохожий11
Новичок
Джуниор
 
Аватар для прохожий11
 
Регистрация: 10.05.2011
Сообщений: 2
По умолчанию

Лабораторная работа №3
Нарисовать собственное генеалогическое дерево до 4 поколения включительно и составить программу, содержащую отношения «предки», «предки по материнской линии», «предки по отцовской линии». Уметь задавать вопросы типа:
А) найти предков указанного лица;
Б) найти предков указанного лица по отцовской или материнской линии;
В) чьим предком является указанное лицо.

Егор
Андрій Марія
Олександр Наталія Валерій М1
Георгій Евгенія Володимир Ніна Д1 Б1 Д2 Б2


Лістинг:
Domains
s=symbol
predicates
m(s,s)
f(s,s)
pred(s,s)
pred_m(s,s)
pred_f(s,s)

clauses
m("Mariya","Egor").
m("Mama1","Mariya").
m("babysja2","Mama1").
m("Nataliya","Andriy").
m("Nina","Nataliya").
m("Evgenija","Oleksandr").
m("babusja1","Valeriy").
f("didus2","Mama1").
f("didus1","Valeriy").
f("Andriy","Egor").
f("Valeriy","Mariya").
f("Oleksandr","Andriy").
f("Volodimir","Nataliya").
f("Georgiy","Oleksandr").
pred_m(X,Y):-m(X,Y).
pred_m(X,Y):-m(R,Y),pred(X,R).
pred_f(X,Y):-f(X,Y).
pred_f(X,Y):-f(R,Y);pred(X,R).
pred(X,Y):-m(X,Y);f(X,Y).
pred(X,Y):-m(Z,Y),pred(X,Z);f(Z,Y),pred(X,Z).

P.S. под свое задание подкоректируй листинг.
Нет границ человеческому безумию...
прохожий11 вне форума Ответить с цитированием
Старый 24.11.2011, 09:29   #3
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

ICQ 395-546-218
rrrFer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
пара задач ozhigin Microsoft Office Excel 2 24.10.2011 18:28
Пара задач junger@ Помощь студентам 0 25.11.2010 14:51
Пара задач neosinner Общие вопросы Delphi 2 13.10.2010 19:22
Пара задач Сия Общие вопросы .NET 3 12.11.2009 23:02
Пара задач на C++ ribnik Помощь студентам 11 21.01.2008 03:22