51430

Родственные отношения

Лабораторная работа

Информатика, кибернетика и программирование

Составить родословную своей семьи, использовав 10-12 отношений родитель. Определить предикат пол для каждого члена семьи. Определить предикаты мать, отец, дядя, тетя, кузен, дед, внук. Определить рекурсивный предикат предок.

Русский

2014-02-11

119.5 KB

11 чел.

Московский государственный технический университет им. Н.Э. Баумана

Калужский филиал

Отчет по лабораторной работе №4

«Родственные отношения»

Выполнил: студентка группы ЭВМ-81

Щукина А.К.

Проверил: Смирнов С.Г.

Калуга, 2013

Условие варианта

1. Составить родословную своей семьи, использовав 10-12 отношений родитель. Определить предикат пол  для каждого члена семьи.

2. Определить предикаты  мать, отец, дядя, тетя, кузен, дед, внук.

3. Определить рекурсивный предикат  предок.

4. Оттранслируйте следующие утверждения в правила на Прологе:

        а) всякий, кто имеет ребенка - счастлив;

        б) всякий  Х, имеющий ребенка, у которого есть сестра, имеет двух детей.

5. Определить предикат  найти_тетю(Х) , выдающий информацию о наличии  (отсутствии) тети у личности  Х. Определить предикаты о наличии прочих родственников у личности  Х.

6. Определить предикат, дающий список всех родственников личности  Х. Переменную  Х ввести.

Родословная

Листинг программы

predicates

male(symbol)

female(symbol)

parent(symbol, symbol)

father(symbol, symbol)

mother(symbol, symbol)

son(symbol, symbol)

daughter(symbol, symbol)

uncle(symbol, symbol)

aunt(symbol, symbol)

cousin(symbol, symbol)

grandfa(symbol, symbol)

grandma(symbol, symbol)

grandson(symbol, symbol)

granddaughter(symbol, symbol)

brother(symbol, symbol)

sister(symbol, symbol)

happy(symbol)

two_child(symbol)

find_father(symbol)

find_mother(symbol)

find_son(symbol)

find_daughter(symbol)

find_uncle(symbol)

find_aunt(symbol)

find_cousin(symbol)

find_grandfa(symbol)

find_grandma(symbol)

find_grandson(symbol)

find_granddaughter(symbol)

find_brother(symbol)

find_sister(symbol)

all_family(symbol)

clauses

female("Mariya").

female("Alla").

female("Anastasiya").

female("Anna").

female("Luba").

female("Marina").

male("Nikolay").

male("Ivan").

male("Dmitriy").

male("Victor").

male("Fedor").

male("Sergey").

male("Vladimir").

male("Andrey").

 

parent("Nikolay", "Anastasiya").

parent("Nikolay", "Anna").

parent("Mariya", "Anastasiya").

parent("Mariya", "Anna").

 

parent("Ivan", "Victor").

parent("Ivan", "Fedor").

parent("Alla", "Victor").

parent("Alla", "Fedor").

 

parent("Dmitriy", "Marina").

parent("Anastasiya", "Marina").

 

parent("Victor", "Sergey").

parent("Luba", "Sergey").

 

parent("Sergey", "Vladimir").

parent("Sergey", "Andrey").

parent("Marina", "Vladimir").

parent("Marina", "Andrey").

father(P,C):- male(P), parent(P,C).

mother(P,C):- female(P), parent(P,C).

son(C,P):- male(C), parent(P,C).

daughter(C,P):- female(C), parent(P,C).

sister(S,BS):- female(S), parent(P,S), parent(P,BS), male(P), S<>BS.

brother(B,BS):- male(B), parent(P,B), parent(P,BS), male(P), B<>BS.

uncle(U,C):- male(U), parent(P,C), parent(P1,P), parent(P1,U), male(P1), U<>P.

aunt(A,C):- female(A), parent(P,C), parent(P1,P), parent(P1,A), male(P1), A<>P.

cousin(C,UA):- male(C), parent(P,C), parent(P1,P), parent(P1,UA), male(P1), P<>UA;

      female(C), parent(P,C), parent(P1,P), parent(P1,UA), male(P1), P<>UA.

grandfa(GF,C):- male(GF), parent(P,C), parent(GF,P).

grandma(GM,C):- female(GM), parent(P,C), parent(GM,P).

grandson(GS,GFM):- male(GS), parent(P,GS), parent(GFM,P).

granddaughter(GD,GFM):- female(GD), parent(P,GD), parent(GFM,P).

%sister(X,Y):- female(X), parent(Z,X), parent(Z,Y), male(Z), X<>Y.

 

happy(X):- parent(X,Y).

two_child(X):- parent(X,S), sister(S,Y).

 

find_father(X):- father(Y,X), write(X, " has father ", Y), nl;

     write(X, " hasn't father"), nl.

find_mother(X):- mother(Y,X), write(X, " has mother ", Y), nl;

     write(X, " hasn't mother"), nl.

find_son(X):- son(X,Y), write(X, " has son ", Y), nl;

     write(X, " hasn't son"), nl.

find_daughter(X):- daughter(X,Y), write(X, " has daughter ", Y), nl;

       write(X, " hasn't daughter"), nl.

find_uncle(X):- uncle(Y,X), write(X, " has uncle ", Y), nl;

    write(X, " hasn't uncle"), nl.

find_aunt(X):- aunt(Y,X), write(X, " has aunt ", Y), nl;

      write(X, " hasn't aunt"), nl.

find_cousin(X):- cousin(Y,X), write(X, " has cousin ", Y), nl;

     write(X, " hasn't cousin"), nl.

find_grandfa(X):- grandfa(Y,X), write(X, " has grandfa ", Y), nl;

      write(X, " hasn't grandfa"), nl.

find_grandma(X):- grandma(Y,X), write(X, " has grandma ", Y), nl;

      write(X, " hasn't grandma"), nl.

find_grandson(X):- grandson(Y,X), write(X, " has grandson ", Y), nl;

       write(X, " hasn't grandson"), nl.

find_granddaughter(X):- granddaughter(Y,X), write(X, " has granddaughter ", Y), nl;

         write(X, " hasn't granddaughter"), nl.

find_brother(X):- brother(Y,X), write(X, " has brother ", Y), nl;

      write(X, " hasn't brother"), nl.

find_sister(X):- sister(Y,X), write(X, " has sister ", Y), nl;

     write(X, " hasn't sister"), nl.

     

all_family(X):- write("FAMILY OF ", X), nl,

    father(F,X), write("Father: ", F), nl, not(father(F,X));

    mother(M,X), write("Mother: ", M), nl, not(mother(M,X));

    son(S,X), write("Son: ", S), nl, not(son(S,X));

    daughter(D,X), write("Daughter: ", D), nl, not(daughter(D,X));

    uncle(U,X), write("Uncle: ", U), nl,not(uncle(U,X));

    aunt(A,X), write("Aunt: ", A), nl, not(aunt(A,X));

    cousin(C,X), write("Cousin: ", C), nl, not(cousin(C,X));

    grandfa(GF,X), write("Grandfa: ", GF), nl, not(grandfa(GF,X));

    grandma(GM,X), write("Grandma: ", GM), nl, not(grandma(GM,X));

    grandson(GS,X), write("Grandson: ", GS), nl, not(grandson(GS,X));

    granddaughter(GD,X), write("Granddaughter: ", GD), nl, not(granddaughter(GD,X));

    brother(B,X), write("Brother: ", B), nl, not(brother(B,X));

    sister(S1,X), write("Sister: ", S1), nl, not(sister(S1,X)).

Результаты выполнения лабораторной

Рис.1


 

А также другие работы, которые могут Вас заинтересовать

79201. Похищение человека. Состав и виды. Отличие от незаконного лишения свободы 34.79 KB
  Под похищением человека ст. Но при всех условиях похищение признается оконченным с момента захвата похищенного лица т. Наказание за похищение значительно усиливается при наличии квалифицирующих обстоятельств ч.
79202. Клевета. Состав и виды. Отличие от ложного доноса 34.68 KB
  С объективной стороны клевета определяется как распространение заведомо ложных сведений порочащих честь и достоинство другого лица или подрывающих его репутацию. Имеются в виду измышления заведомо ложные сведения подрывающие положительную оценку окружающими общественным мнением личности и его деятельности как не соответствующих этическим правовым профессиональным критериям. Обязательный элемент понятия клеветы распространение заведомо ложных сведений компрометирующих человека в устной или письменной форме в том числе в официальном...
79203. Общая характеристика преступлений против половой неприкосновенности и половой свободы личности 32.66 KB
  Разновидностью преступлений против личности являются общественно опасные посягательства на половую неприкосновенность и половую свободу человека. Видовым объектом преступлений являются общественные отношения обеспечивающие половую неприкосновенность и половую свободу личности. Непосредственным объектом выступают отношения связанные с посягательством на половую неприкосновенность и половую свободу конкретной личности нарушенные общественно опасным действием. Половые преступления в зависимости от непосредственного объекта можно подразделить...
79204. Изнасилование. Состав и виды 31.04 KB
  Беспомощное состояние потерпевшей при изнасиловании может выражаться в том что она: 1 не могла понимать характера и значения совершаемых действий в силу своего физического или психического состояния малолетства душевного расстройства беспамятства или иного болезненного состояния; 2 понимала характер совершаемых в отношении ее действий но не могла оказать сопротивления виновному физические недостатки сильное опьянение и т. Виновный же должен осознавать беспомощное состояние потерпевшей вне зависимости от того привел ли он сам...
79205. Насильственные действия сексуального характера. Состав и виды 29.74 KB
  Насильственные действия сексуального характера ст. Состав преступления предусмотренный этой статьей охватывает насильственное мужеложство и лесбиянство а также иные насильственные действия сексуального характера с применением или угрозой применения насилия либо с использованием беспомощного состояния потерпевшей потерпевшего. Под иными действиями сексуального характера понимаются любые кроме мужеложства и лесбиянства способы удовлетворения полового желания в извращенной форме.
79206. Общая характеристика преступлений против конституционных прав и свобод 33.74 KB
  В главе 19 УК РФ объединены уголовноправовые нормы о преступлениях посягающих на конституционные права и свободы человека и гражданина. Безусловно в данной главе помещены не все нормы охраняющие права и свободы человека и гражданина поскольку например жизнь здоровье охраняются нормами включенными в гл. Все охраняемые уголовным законом конституционные права и свободы человека и гражданина несмотря на их разобщенность по главам образуют видовой объект преступления совокупность конституционных прав и свобод. Субъективная сторона...
79207. Нарушение неприкосновенности частной жизни 29.9 KB
  Нарушения неприкосновенности частной жизни ст. собирать и распространять сведения о частной жизни человека без его согласия.
79208. Нарушение неприкосновенности жилища 34.29 KB
  Конституции РФ никто не вправе проникать в жилище против воли проживающих в нем лиц иначе как в случаях установленных федеральным законом или на основании судебного решения. 139 выражается в незаконном проникновении в жилище против воли проживающего в нем лица. 139 под жилищем понимаются индивидуальный жилой дом с входящими в него жилыми и нежилыми помещениями жилое помещение независимо от формы собственности входящее в жилищный фонд и пригодное для постоянного или временного проживания а равно иное помещение или строение не входящие...
79209. Нарушение авторских и смежных прав 30.8 KB
  Преступление небольшой тяжести состав основной сложный материальный Объект общественные отношения обеспечивающие реализацию авторских и иных смежных прав Общественные отношения собственности Предмет чужое научное литературное музыкальное или художественное произведение Потерпевший другое лицо Объективная сторона характеризуется: Деянием в форме действия присвоение авторства плагиат т.