Есть 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).

Объяснение кода листинга программы

  1. Домен: ivan,igor,elena,tatyana=symbol.
  2. Предлоги: zachet(symbol)., diskoteka(symbol)., vremya(symbol)., segodnya(symbol).
  3. Неопределенные переменные:
    • sdal(symbol,symbol).
    • poidet(symbol,symbol).
    • svoboden(symbol,symbol).
  4. Условия:
    • zachet(lab).
    • diskoteka(dance).
    • vremya(time).
    • segodnya(vecherom).
  5. Условные предложения:
    • 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).
  6. Цель: sdal(Who,lab).
  7. Запросы:
    • Кто пойдет на дискотеку? (подразумевается, что это не указано в коде)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5
Похожие ответы