% 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.