Есть 4 студента, узнать кто сдаст лабу, кто пойдет на дискотеку и т.д - Prolog

Узнай цену своей работы

Формулировка задачи:

Привет. У нас появился новый предмет, на Visual Prolog. Ну так вот, в чем дело. Есть лаб1, в данной лабе есть 3 задания, 2 из которых я сделал, но начались проблемы в 3-м задании. Задание 1.1 Сделал
Листинг программы
  1. predicates
  2. red(symbol)
  3. nondeterm likes(symbol,symbol).
  4. CLAUSES
  5. red(rose).
  6. likes(ramazan,dogs).
  7. likes(baha,motocycle).
  8. likes(tati,food).
  9. likes(vova,smoke).
  10. likes(vlad,juce).
  11. likes(tair,auto).
  12. likes(anna,home).
  13. likes(aziz,book).
  14. likes(aidana,helocopter).
  15. likes(kolya,box).
  16. likes(azamat,computer).
  17. goal
  18. %likes(bill,dogs).
  19. %likes(baha,motocycle).
  20. %likes(tati,food).
  21. %likes(vova,smoke).
  22. %likes(vlad,juce).
  23. %likes(tair,auto).
  24. %likes(anna,home).
  25. %likes(aziz,book).
  26. %likes(aidana,helocopter).
  27. %likes(kolya,box).
  28. likes(azamat,computer).
Лаб 1.2 Сделал
Листинг программы
  1. predicates
  2. green(symbol).
  3. red(symbol).
  4. flower(symbol).
  5. nondeterm likes(symbol,symbol).
  6. CLAUSES
  7. green(color).
  8. red(color).
  9. flower(symbol).
  10. likes(klara,green).
  11. likes(sasha,red).
  12. likes(timur,red).
  13. likes(timur,green).
  14. likes(sasha,flower).
  15. goal
  16. %likes(klara,What).
  17. %likes(sasha,What).
  18. likes(timur,What).
Лаб 1.3. Помогите решить, нужно уже завтра сдавать лабу. - Иван, Елена, Татьяна, Игорь - студенты. -Студент получает зачет, если он отчитается по лабораторным занятиям. -Иван отчитается по лабораторным занятием только вместе с Игорем. -Елена и Татьяна отчитались по лабораторным занятиям и пойдут вечером на дискотеку. -Если Игорь пойдет на дискотеку вместе с Татьяной, то он отчитается по лабораторным занятиям. -Игорь пойдет вечером на дискотеку, если у него будет свободное время. -Сегодня вечером Игорь свободен. Сформировать следующие запросы: -Кто пойдет вечером на дискотеку? -Кто получит зачет?

Решение задачи: «Есть 4 студента, узнать кто сдаст лабу, кто пойдет на дискотеку и т.д»

textual
Листинг программы
  1. domains
  2. ivan,igor,elena,tatyana=symbol.
  3.  
  4. predicates
  5. zachet(symbol).
  6. diskoteka(symbol).
  7. vremya(symbol).
  8. segodnya(symbol).
  9.  
  10. nondeterm sdal(symbol,symbol).
  11. nondeterm poidet(symbol,symbol).
  12. nondeterm svoboden(symbol,symbol).
  13.  
  14. CLAUSES
  15. zachet(lab).
  16. diskoteka(dance).
  17. vremya(time).
  18. segodnya(vecherom).
  19.  
  20. sdal(igor,lab).
  21. sdal(ivan,lab)if sdal(igor,lab).
  22. sdal(elena,lab).
  23. sdal(tatyana,lab).
  24. svoboden(igor,vecherom).
  25. poidet(elena,dance)if sdal(elena,lab).
  26. poidet(tatyana,dance)if sdal(tatyana,lab).
  27. poidet(igor,dance)if svoboden(igor,vecherom).
  28.  
  29. goal
  30. sdal(Who,lab).
  31. %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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы