Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lab8_Skorikov

.docx
Скачиваний:
19
Добавлен:
02.12.2015
Размер:
80.79 Кб
Скачать

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ

УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)

Кафедра комплексной информационной безопасности электронно-

вычислительных систем (КИБЭВС)

ЯЗЫК ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ PROLOG

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

по дисциплине «Языки программирования»

Выполнил:

Студент гр. 724

_______  _____   Скориков И.И.

15.11.2015

Принял:

Кандидат технических наук

кафедры КИБЭВС

_______  _____ Романов А.С.

15.11.2015

2015

1 Цель работы

Знакомство с основами логического программирования на примере языка Prolog.

2 Ход работы

2.1 Генеалогическое древо

Рисунок 1 – Генеалогическое древо

3 Код программы

predicates

father(String,String)

mother(String,String)

married(String,String)

male(String)

female(String)

brosis(String, String)

parent(String,String)

predecessor(String, String)

descendant(String, String)

brother(String, String)

sister(String,String)

uncle(String,String)

aunt(String, String)

grandfather(String, String)

grandmother(String, String)

nephew(String, String)

niece(String, String)

cousinboy(String, String)

cousingirl(String, String)

clauses

father("adam","ben").

father("eva","ben").

father("aki","janin").

father("ben","vilson").

father("ben","ida").

father("ben","zoi").

father("vilson","kali").

father("issak","devon").

father("issak","zak").

father("issak","marta").

father("devon","nadia").

father("zak","dave").

father("zak","i").

father("zak","letti").

father("dave","kail").

mother("erta","janin").

mother("janin","vilson").

mother("janin","ida").

mother("janin","zoi").

mother("patti","devon").

mother("patti","zak").

mother("patti","marta").

mother("ida","dave").

mother("ida","i").

mother("ida","letti").

mother("marli","kail").

mother("letti","rachel").

married("adam","eva").

married("aki","erta").

married("ben","janin").

married("ben","janin").

married("issak","patti").

married("zak","ida").

married("dave","marli").

male("adam").

male("aki").

male("ben").

male("vilson").

male("dave").

male("i").

male("issak").

male("devon").

male("zak").

female("eva").

female("erta").

female("janin").

female("ida").

female("zoi").

female("kali").

female("marti").

female("letti").

female("kail").

female("rachel").

female("patti").

female("marta").

female("nadia").

brosis(X,Y):-parent(Z,X),parent(Z,Y),X<>Y.

parent(P,I):-father(P,I);mother(P,I).

descendant(I,P):-parent(P,I).

descendant(I,P):-parent(Y,I),descendant(Y,P).

predecessor(P,I):-parent(P,I).

predecessor(P,I):-parent(P,Y),predecessor(Y,I).

brother(X,Z):-male(X),parent(Y,X),parent(Y,Z).

sister(X,Z):-female(X),parent(Y,X),parent(Y,Z).

uncle(X,Y):-male(X),brother(X,Z),parent(Z,Y).

aunt(X,Y):-female(X),sister(X,Z),parent(Z,Y).

grandfather(X,Y):-father(X,Z),parent(Z,Y).

grandmother(X,Y):-mother(X,Z),parent(Z,Y).

nephew(X,Y):-male(X),parent(Z,X),brosis(Z,Y).

niece(X,Y):-female(X),parent(Z,X),brosis(Z,Y).

cousinboy(X,Y):-male(X),parent(Z,X),parent(A,Y),brosis(Z,A).

cousingirl(X,Y):-female(X),parent(Z,X),parent(A,Y),brosis(Z,A).

4 Заключение

В процессе выполнения лабораторной работы были получены основы логического программирования на примере языка Prolog.

Соседние файлы в предмете Языки программирования