Задачка про воробья, дятла и синицу. - Prolog

  1. 1. Воробей, дятел и синица сидели на одной ветке. В каком порядке они сидели, если a. Синица сидела слева от дятла, а воробей слева от синицы b. Дятел сидел слева от синицы и справа от воробья c. Воробей сидел справа от синицы, а дятел справа от воробья. 2. Найти НОК (M, N), если НОК (M,N) = M*N/НОД(M,N)


textual

Код к задаче: «Задачка про воробья, дятла и синицу. - Prolog»

DOMAINS
 
PREDICATES
side(symbol,symbol, integer)
order(symbol,symbol,symbol, integer)
 
CLAUSES
side(sinica,dyatel,1).
side(vorobey,sinica,1).
side(dyatel,sinica,2).
side(vorobey,dyatel,2).
side(sinica,vorobey,3).
side(vorobey,dyatel,3).
order(X,Y,Z,N):- side(X,Y,N), side(Y,Z,N), X<>Y, Y<>Z.
order(X,Y,Z,N):- side(X,Y,N), side(X,Z,N), X<>Y, Y<>Z.
 
GOAL
order(X,Y,Z,N), write(N,": ",X," ",Y," ",Z), nl,
fail.

СДЕЛАЙТЕ РЕПОСТ

11   голосов, оценка 3.818 из 5



Похожие ответы
  1. Все время обучения писала программы, состоящие из одних предекатов, но сейчас нужна база данных, пришлось писать блоковую программу. Проблема в том, что ни мой код, ни коды с блоками из интернета попросту не компилятся. Интерпретатор Gnu Prolog, установить Turbo Prolog не могу, не сходится с железом.

  1. Министры иностранных дел России, США и Китая обсудили за закрытыми дверями проекты соглашения о полном разоружении, представленные каждой из стран. Отвечая затем на вопрос журналистов: "Чей именно проект был принят?", министры дали такие ответы: Россия — "Проект не наш, проект не США"; США — "Проект не России, проект Китая"; Китай — "Проект не наш, проект России". Один из них (самый откровенный) оба раза говорил правду; второй (самый скрытный) оба раза говорил неправду, третий (осторожный) один раз сказал правду, а другой раз — неправду. Напишите на языке SWI Prolog программу решающую, представителями каких стран являются откровенный, скрытный и осторожный министры.. Требуется помощь так ,как я не понимаю в прологе ничего(((.

  1. Всем доброго времени суток! Прошу помощи) Люди добрые, кто понимает SWI Prolog, не могли бы вы прокомментировать код? Очень нужно разобраться. Я не во всех местах понимаю, что происходит И не подскажете как правильно написать запрос? что-то у меня не хочет работать Прога вот этой задачи: На одной улице стоят 4 дома. В каждом из них живет один из 4-х людей: Семен, Николай, Артур и Роман. Каждый из них владеет профессией: Врач, Художник, Егерь, Тренер. Определить кто в каком доме живет и кто какой профессией владеет. Известно, что: Художник живет рядом с тренером Врач живет рядом с Художником Егерь левее врача Тренер не рядом с Егерем Художник правее Семена Роман не тренер Семен рядом с Николаем Артур не рядом с Романом

  1. Определить процедуру, которая отбрасывает в списке заданное количество последних элементов.

  1. Столкнулась с примером где есть эта стрелка и хотелось бы разобраться но не могу найти в интернете что это обозначает предикат выглядит так

  1. Здравствуйте. Есть задача: Однажды в Артеке за круглым столом оказалось пятеро ребят родом из Москвы, Санкт-Петербурга, Новгорода, Перми и Томска: Юра, Толя, Алеша, Коля и Витя. Москвич сидел между томичем и Витей, санкт-петербуржец - между Юрой и Толей, а напротив него сидели пермяк и Алеша. Коля никогда не был в Санкт-Петербурге, а Юра не бывал в Москве и Томске, а томич с Толей регулярно переписываются. Определите, в каком городе живет каждый из ребят. Есть решение с использованием списков:

  1. Здравствуйте!!! Компилятор выдает ошибку (E;z9a.pro, pos: 14, 235 The FILE and DB_SELECTOR domains must be global) Код обыкновенной!!!

  1. Добрый день. Прошу прощения за беспокойство но такая проблема. Нужно написать задачу на прологе, но примеров не было. Вот сижу туплю, что делать. "Написать определения принадлежности конкретных (25-30) слов к частям речи и возможности их использования в качестве части предложения (подлежащее, сказуемое, дополнение и т.п.). Написать правила построения вопросительных, утвердительных и отрицательных предложений. Построить запросы, возможные варианты построения фраз различного типа." Если не трудно помогите. И если не трудно с небольшими комментариями. Списки нельзя использовать. Заранее благодарен.

  1. помогите пожалуйста реализовать на прологе: нужно создать консольный проект и разработать рекурсивную программу вычисления n-го члена арифметической прогрессии, у которой первый член равен 1, а шаг = 2