LINUX.ORG.RU
ФорумTalks

[swi-prolog][дискретка][как?] Логическая программа

 


0

0

Здрасьте.
Как на swi-prolog'е можно сделать программу, которая решает логическую задачу (с предикатами первого порядка)? На парах записывали программы вот так:

Predicates:
V(x)
K(x)
P(x)
O(x)
G(x)
D(x)
Clauses:
D(a)
K(x):-V(x)
P(x):-O(x)
:-K(x),G(x)
V(x):-D(x)
G(x):-P(x)
Goal ?- not(O(a))
в dev-lang/swi-prolog так не пашет.
Заранее спасибо за помощь.

PS. Желательно показать на вот этом примере ^^

★★

Последнее исправление: do0dlez (всего исправлений: 1)

У нас будет пролог только в следующем семестре... Или даже в послеследующем.

Yareg ★★★
()
Ответ на: комментарий от Yareg

у меня практика вообще через 2 семестра, вроде =\

do0dlez ★★
() автор топика

Школо^W Студенты в треде!

Студентота на моём ЛОРе! Ололо!

По сабжу: ТС ошибся разделом.

derrix
()
Ответ на: Школо^W Студенты в треде! от derrix

Студентота на моём ЛОРе! Ололо!

Не первый и не последний

ошибся разделом

ХЗ. Всё-таки это не совсем разработка...

do0dlez ★★
() автор топика

>Здрасьте.

B вам не хворать.

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

строки

Predicates:
V(x)
K(x)
P(x)
O(x)
G(x)
D(x)
Clauses:

нужно смело выбросить.

в правиле

:-K(x),G(x)

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

Attila ★★
()

Словечки Predicates и Clauses - отличительные особенности Турбо Пролога и его потомка Visual Prolog. Впрочем, классические книги как раз скорее по чистому стандарту языка, так что не должно быть проблем.

metar ★★★
()
Ответ на: комментарий от Attila

В общем у меня сложилось впечатление, что пролог вы проходили ... мимо :(

Повторюсь, но собственно всё так и есть. На занятиях по дискретке мы просто рассмотрели общую концепцию (?). Собственно практика по ПРОЛОГу будет очень не скоро.
Я решил просто попробовать это всё на компьютере.
И да, можно таки пример правильный по этой задаче?

do0dlez ★★
() автор топика
Ответ на: комментарий от metar

Я к чему... Турбо Пролог вроде не вполне соответствует стандарту.

metar ★★★
()
Ответ на: комментарий от do0dlez

>И да, можно таки пример правильный по этой задаче?

этой задаче?


этой, это какой?

p.s. Welcome to Форум - Develop и там задавай задачки, но я бы рекомендовал почитать И. Братко перед этим для начала.

Attila ★★
()
Ответ на: комментарий от Attila

Попытаюсь ещё раз.
Я не пытаюсь написать сложную программу. Я просто пытаюсь сделать на компьютере то, что мы делаем на парах в тетрадях. Вот на примере:

Задача. Область определения – люди колледжа.

  • Все выпускники Итона в колледже играют в крикет.
  • Никто, кроме преподавателей, не обедает за верхним столом.
  • Ни один из тех, кто играет в крикет, не умеет грести.
  • Все мои друзья в этом колледже выпускники Итона.
  • Все преподаватели прекрасные гребцы.

Вывод: все мои друзья не преподаватели.

формализация выглядит так. А «логическая программа» выглядит так, как в заглавном сообщении.

do0dlez ★★
() автор топика
Ответ на: комментарий от do0dlez

Ещё раз повторяю, забрось в Development, в толксах отвечать не буду, неужели не понятно?

Attila ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.