Построить базу данных о родственниках - Prolog

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


textual

Код к задаче: «Построить базу данных о родственниках - Prolog»

% Построить базу данных о родственниках "мать" и "дочь" 
% и правила "тетя", "племянница", "бабушка", "внучатая племянница".
 
 
мать('Lucille', 'Laura').
мать('Nancy', 'Claire').
мать('Nancy', 'Gracie').
мать('Claire', 'Jill').
мать('Gracie', 'Carrie').
мать('Lillian', 'Karen').
мать('Lillian', 'Deanna').
 
дочь('Laura', 'Lucille').
дочь('Claire', 'Nancy').
дочь('Gracie', 'Nancy').
дочь('Jill', 'Claire').
дочь('Carrie', 'Gracie').
дочь('Karen', 'Lillian').
дочь('Deanna', 'Lillian').
 
% X- тётя Y
тетя(X, Y):- мать(Q, X), мать(Z,Y), мать(Q, Z).

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

8   голосов, оценка 4.125 из 5



Похожие ответы
  1. Совершенно не знаю синтаксис языка Prolog, но надо написать программу для зачёта. d(2,6) это домино Есть задача: "Написать программу, которой дается набор костяшек домино, а она определяют, возможно ли построить из них непрерывные цепочки или нет" Пример работы: ?- playout([d(2,6),d(0,4),d(2,4),d(1,3),d(1,6),d(0,1),d(4,4)]). true Потому, что можно разместить в таком порядке [d(1,0),d(0,4),d(4,4),d(4,2),d(2,6),d(6,1),d(1,3)] ?- playout([d(0,3),d(1,2),d(5,6),d(5,5),d(0,2),d(0,5),d(3,5)]). false.

  1. Здравствуйте, помогите, пожалуйста, разобраться в программе на Prolog! Несколько дней бьюсь все никак не доходит как она работает! Напишите предикат p(+S,?L), который выдает список L, получающийся из списка S преобразованием каждого элемента x в пару [x, n], где n ¬ число вхождений элемента x в список S, например,

  1. Пожалуйста,помогите решить задачку: Дана строка (до 64 Кбайт) в текстовом файле. Создать динамическую базу предложений данной строки. По номеру предложения выдавать его на экран. Для создания интерфейса использовать стандартные средства. Необходимо написать на turbo prolog

  1. ЗАДАЧА: Построить на основе списка L новый, содержащий номера вхождений элементов, принадлежащих списку H. МОЕ РЕШЕНИЕ:

  1. Доброго времени суток, уважаемые программисты.Текст задания: Дан двоичный каталог Т1. Написать программу, которая строит список L2 индексов каталога, которым соответствуют отрицательные нечетные значения. Запрос: r(T1, L2). Сама задача не вызвала у меня никаких осложнений, проблема у меня появилась в объединении самих индексов в список L2. Я попытался через append и только с анонимной переменной у меня было что-то, близкое к правде. Но, как видно из скрина, за ответ это не сойдет. Искренне прошу вашей помощи, обращаюсь к вам в первый раз, очень надеюсь на вашу подсказку!

  1. Ребят, помогите с задачей. Задача. Создайте базу данных, описывающую устройство велосипеда, воспользовавшись следующим словарем: Имена объектов: велосипед колесо педали электропривод седло рама тормозная система фара руль тормозной трос втулка шестеренки переключатель скоростей цепь спица Представьте следующие вопросы на Прологе: а) из каких частей состоит велосипед? б) верно, что генератор постоянного тока является частью велосипеда? в) верно, что спица является частью чего-то? г) частью какой части велосипеда является генератор постоянного тока? д) из каких частей состоит тормозная система? P.S Спасибо за помощь)

  1. Здравствуйте.Помогите пожалуйста с заданием! Нужно написать на TurboProlog. Даны два числовых списка. Построить третий список, количество элементов которого равно длине второго списка и каждый элемент равен количеству элементов первого списка, меньших соответствующего элемента второго списка: (1 7 3 0 2) (3 7 10) —> (3 4 5).

  1. Задан список целых чисел L, сформировать список L1 из элементов: минимальный элемент всего списка L, минимальный элемент из последних n-1 элементов и т.д.

  1. написать программу, которая бы перебирала базу данных об именах и выводила бы первые 5 у которых длина менее 3 символов. (Длина сроки визначаетьься с помощью предиката len (string))