Есть 4 студента, узнать кто сдаст лабу, кто пойдет на дискотеку и т.д - Prolog
Формулировка задачи:
Привет. У нас появился новый предмет, на Visual Prolog. Ну так вот, в чем дело. Есть лаб1, в данной лабе есть 3 задания, 2 из которых я сделал, но начались проблемы в 3-м задании.
Задание 1.1 Сделал
Лаб 1.2 Сделал
Лаб 1.3. Помогите решить, нужно уже завтра сдавать лабу.
- Иван, Елена, Татьяна, Игорь - студенты.
-Студент получает зачет, если он отчитается по лабораторным занятиям.
-Иван отчитается по лабораторным занятием только вместе с Игорем.
-Елена и Татьяна отчитались по лабораторным занятиям и пойдут вечером на дискотеку.
-Если Игорь пойдет на дискотеку вместе с Татьяной, то он отчитается по лабораторным занятиям.
-Игорь пойдет вечером на дискотеку, если у него будет свободное время.
-Сегодня вечером Игорь свободен.
Сформировать следующие запросы:
-Кто пойдет вечером на дискотеку?
-Кто получит зачет?
Решение задачи: «Есть 4 студента, узнать кто сдаст лабу, кто пойдет на дискотеку и т.д»
textual
Листинг программы
domains ivan,igor,elena,tatyana=symbol. predicates zachet(symbol). diskoteka(symbol). vremya(symbol). segodnya(symbol). nondeterm sdal(symbol,symbol). nondeterm poidet(symbol,symbol). nondeterm svoboden(symbol,symbol). CLAUSES zachet(lab). diskoteka(dance). vremya(time). segodnya(vecherom). sdal(igor,lab). sdal(ivan,lab)if sdal(igor,lab). sdal(elena,lab). sdal(tatyana,lab). svoboden(igor,vecherom). poidet(elena,dance)if sdal(elena,lab). poidet(tatyana,dance)if sdal(tatyana,lab). poidet(igor,dance)if svoboden(igor,vecherom). goal sdal(Who,lab). %poidet(Who,dance).
Объяснение кода листинга программы
- Домен: ivan,igor,elena,tatyana=symbol.
- Предлоги: zachet(symbol)., diskoteka(symbol)., vremya(symbol)., segodnya(symbol).
- Неопределенные переменные:
- sdal(symbol,symbol).
- poidet(symbol,symbol).
- svoboden(symbol,symbol).
- Условия:
- zachet(lab).
- diskoteka(dance).
- vremya(time).
- segodnya(vecherom).
- Условные предложения:
- sdal(ivan,lab) если sdal(igor,lab).
- sdal(elena,lab).
- sdal(tatyana,lab).
- svoboden(igor,vecherom) если sdal(igor,lab).
- poidet(elena,dance) если sdal(elena,lab).
- poidet(tatyana,dance) если sdal(tatyana,lab).
- poidet(igor,dance) если svoboden(igor,vecherom).
- Цель: sdal(Who,lab).
- Запросы:
- Кто пойдет на дискотеку? (подразумевается, что это не указано в коде)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д