summaryrefslogtreecommitdiff
path: root/task1.pro
diff options
context:
space:
mode:
authorAndrew Guschin <guschin@altlinux.org>2024-04-09 12:13:24 +0400
committerAndrew Guschin <guschin@altlinux.org>2024-04-09 12:38:37 +0400
commitfbd4bb21c7d15de39273159b2e9364faadb26af4 (patch)
treef5229e72984784efea479a1908a73dff67756959 /task1.pro
Первое задание
Diffstat (limited to 'task1.pro')
-rw-r--r--task1.pro59
1 files changed, 59 insertions, 0 deletions
diff --git a/task1.pro b/task1.pro
new file mode 100644
index 0000000..4a6e9ff
--- /dev/null
+++ b/task1.pro
@@ -0,0 +1,59 @@
+% vim:set syntax=prolog:
+
+?- writeln("Задание 1:").
+
+любит("Таня", "яблоки").
+любит("Сергей", "бананы").
+любит("Андрей", "яблоки").
+любит("Света", "карамель").
+любит("Вова", "карамель").
+любит("Таня", "халва").
+любит("Света", "апельсины").
+любит("Вова", "бананы").
+
+% a) всех, кто любит бананы;
+?- writeln("Любители бананов:").
+?- forall(любит(Кто, "бананы"), (write("- "), writeln(Кто))).
+
+% b) кто любит и халву, и яблоки;
+?- writeln("Любители халвы и яблок:").
+?- forall((любит(Кто, "халва"), любит(Кто, "яблоки")), (write("- "), writeln(Кто))).
+
+% c) что любит Вова;
+?- writeln("Что любит Вова:").
+?- forall(любит("Вова", Что), (write("- "), writeln(Что))).
+
+% d) что любят и Света, и Вова.
+?- writeln("Что любят и Света, и Вова:").
+?- forall((любит("Света", Что), любит("Вова", Что)), (write("- "), writeln(Что))).
+
+
+
+?- writeln("\n\nЗадание 2:").
+
+увлекается("Катя", "теннис").
+увлекается("Виктор", "теннис").
+увлекается("Виктор", "хоккей").
+увлекается("Андрей", "хоккей").
+увлекается("Олег", "хоккей").
+увлекается("Ольга", "теннис").
+увлекается("Катя", "шахматы").
+увлекается("Олег", "шахматы").
+
+% a) каким видом спорта увлекается Андрей;
+?- writeln("Увлечения Андрея:").
+?- forall(увлекается("Андрей", Чем), (write("- "), writeln(Чем))).
+
+% b) всех, кто играет в шахматы;
+?- writeln("Любители шахмат:").
+?- forall(увлекается(Кто, "шахматы"), (write("- "), writeln(Кто))).
+
+% c) каким видом спорта увлекаются и Ольга, и Виктор;
+?- writeln("Спорт, которым увлекаются и Ольга, и Виктор:").
+?- forall((увлекается("Ольга", Чем), увлекается("Виктор", Чем)), (write("- "), writeln(Чем))).
+
+% d) кто увлекается и хоккеем, и шахматами.
+?- writeln("Любители хоккея и шахмат:").
+?- forall((увлекается(Кто, "хоккей"), увлекается(Кто, "шахматы")), (write("- "), writeln(Кто))).
+
+?- halt.