Упражнение 1.

advertisement
Упражнение 1.
predicates
common_interests(symbol, symbol)
who_likes_what(symbol, symbol)
likes(symbol, symbol)
clauses
common_interests(X, Y):who_likes_what(X, Z), Z<>X,
who_likes_what(Y, Z), X<>Y.
who_likes_what(ivan, reading).
who_likes_what(peter, programming).
who_likes_what(peter, reading).
who_likes_what(mike, tennis).
who_likes_what(mike, programming).
likes(X, Y):who_likes_what(X, Y),
common_interests(X, Y).
Запустите программу и выясните, создав запросы в разделе GOAL:
- что нравится каждому из упомянутых выше людей
- у кого есть общие интересы
- кто любит программирование
Упражнение 2.
Дана программа :
domains
title, author = symbol
pages = integer
predicates
book(title, pages)
written_by(fauthor, title)
long_novel(title)
clauses
written_ by(fleming, «DRNO»).
writtenby melville, «MOBY DICK»).
book(«MOBY DICK», 250).
book(«DRNO», 310).
long_novel(Title):written by( , Title),
book(Title, Length),
Length > 300.
Дополните программу информацией о книгах, изданных на русском языке.
Добавьте в программу правила:
отыскивающее самую тонкую книгу в БД;
отыскивающее самую толстую книгу в БД;
отыскивающее все книги в БД, не являющиеся самой тонкой и самой толстой;
определяющее наличие самой тонкой и самой толстой книги в Базе Данных среди
произведений заданного автора;
определяющее самую тонкую и самую толстую книгу для заданного автора;
отыскивающее в БД для заданного автора все книги, которые он не писал.
Упражнение 3.
Записать на Прологе:
1)Золото является ценным.
2)Иванов — студент математического факультета.
3)Земля имеет форму шара.
4)Писатель пишет книги.
5)Ученый занимается наукой.
6)Писатель Лев Толстой написал книгу «Война и мир».
7)Этот треугольник равносторонний.
8)Федор Шаляпин — великий русский певец.
9)Чарли Чаплин — великий кинорежиссер, актер, композитор.
10)Дом состоит из фундамента, крыши, стен и окон.
11)Квадрат гипотенузы равен сумме квадратов катетов.
12)Река Волга впадает в Каспийское море.
13)Колумб открыл Америку.
Упражнение 4.
Построить базу данных на Прологе из следующих взаимосвязанных фактов:
1)Карл у Клары украл кораллы. Клара у Карла украла кларнет.
2)У попа была собака. Он ее любил. Она съела кусок мяса. Он ее убил. И в землю закопал.
И надпись написал.
Упражнение 5.
Построить базу данных из следующих фактов:
У мельника было три сына. Мельник оставил наследство. Оно состояло из мельницы,
осла и кота. Старший сын взял мельницу. Средний сын взял осла. Младшему сыну дали
кота. Задать к этой базе данных следующие запросы на Прологе
: => Кто был у мельника?
=> Что оставил мельник?
=> Из чего состояло наследство?
=> Что взял старший сын?
=> Что дали младшему сыну?
N6
Дана база данных «Родители и дети»:
родитель(полина,борис).
родитель(анатолий,борис).
родитель(анатолий,лиза).
родител ь( борис, катя).
родитель(борис,валентина).
родитель(полина.евгений).
Указать ответы на следующие вопросы:
?-родитель(Х,лиза). — Кто является родителем Лизы?
?- родите л ь(евгений,Х). — Кому является родителем Евгений?
Сформулировать вопросы:
? -ро д и те л ь (борис, X).
? -родитель(Х, Y).
? -ро д и те л ь (Y, евгений), родите л ь(Х, Y).
Указать ответы и сформулировать вопросы:
?-родитель(валентина,Х),родитель(Х,Валентина).
? - родите л ь(валентина, X) ,родитель(Х, Y), родител ь( Y, евгений).
Сформулировать вопросы на Прологе:
Кто является родителем Кати?
Есть ли у Лизы ребенок?
Кто дети Бориса?
Кто чей родитель?
№7
База данных «Теремок»:
жи в ет( муха, горюха).
живет( комар, пискун).
живет(мышка,погрызуха).
живет( лягушка, квакушка).
Живет( зайченок, кривоног).
Живет( лиса, краса).
живет(волк,хватыш).
не_живет(медведь,пригнетыш).
Указать ответы на следующие вопросы:
?-живет(мышка,погрызуха).
? - ж ивет( л ис а, квакушка).
?-живет(медведь,пригнетыш).
?-живет(волк,Х).
?-живет(Х,кривоног).
?-не_живет(М,П).
Сформулировать вопросы на Прологе:
Живет ли лягушка в теремке?
Какое прозвище у лисы?
Кто имеет прозвище горюха?
Какой следует задать вопрос, чтобы узнать только обитателей
теремка (без прозвищ)?
№8
База данных «Рождение и хобби друзей»:
рождение( Иванова, лена, 22, июнь, 1971).
рождение(петров, Сергей, 2 5, октябрь ,1973).
Рождение(сидорова,оля, 1, декабрь, 1974).
любит(иванова, лена, книги).
л юбит( иванова, лена, танцы).
любит(петров ,сергей,видео).
л юбит( сидорова, оля, кино).
Сформулировать вопросы на Прологе:
Кто родился в 1971 году?
Кто родился в октябре?
Кто любит книги?
Кто любит и книги и танцы?
№9
База данных «Колобок»:
у шел (колобок, дедушка).
у шел (колобок,бабушка).
уше л (колобок, заяц).
ушел(колобок.волк).
ушел(колобок,медведь).
не_ушел(колобок, лиса).
Указать ответы на следующие вопросы:
?-ушел(колобок,бабушка). — Ушел колобок от бабушки?
?-ушел(К,волк). — Кто ушел от волка?
?-не_ушел(колобок,Х). — От кого не ушел колобок?
Сформулировать вопросы на Прологе:
Кто ушел от волка?
Кто не ушел от лисы?
Кто ушел от волка и от бабушки?
Какой следует задать вопрос, чтобы узнать всех персонажей
сказки?
N 10
База данных «Распорядок дня»:
занятие(0,7,сон).
занятие(7,8,завтрак).
занятие(8,13,школа).
занятие(13,14,обед).
занятие( 14,19, свобода).
занятие( 19,20,ужин).
занятие( 20,23, отдых).
занятие( 23,24, сон).
Сформулировать вопросы на Прологе:
Когда бывает обед?
Что бывает между 14 и 19 часами?
Когда бывает сон? (сколько будет решений?)
№ 11
Построить базу данных “ Важнейшие события Древнего Мира” на основе установленных
фактов, произошедших с 31 по 6 век до нашей эры. Каждый факт приводить в виде событие (X,Y,Z), где
X — название государства, где произошло событие,
Y — в каком веке произошло событие,
Z — какое произошло событие.
В 31-м веке до нашей эры возникли первые города-государства.
Единое государство в Египте образовалось в 30 веке до нашей эры.
В 27 веке до нашей эры в Индии появились первые древнейшие города, а в Египте
построена пирамида Хеопса.
Первые греческие государства появились в 18 веке до нашей эры. В этом же веке в
Египте произошло крупное восстание бедняков и рабов.
В 15 веке до нашей эры появились первые государства в Китае. Тутмос III правил в
Египте в 15 веке до нашей эры.
Греция вела троянскую войну в 13 веке до нашей эры.
Вторжение борийских племен в Грецию произошло в 11 веке до нашей эры.
В 8 веке до нашей эры был основан город Рим.
Олимпийские игры стали проводиться в Греции в 8 веке до нашей эры.
В 6 веке до нашей эры в Риме была установлена республика, а в Греции произошли
реформы Солона. В этом же веке персы взяли Вавилон в Междуречье и завоевали
Египет.
Продумать запросы, которые можно задать к этой базе данных.
Download