Определение принадлежности животного к определенному виду - Prolog

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

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

Задание звучит так: "определение принадлежности животного к определенному виду, типу, семейству". Дуги: место обитания, строение, особенности поведения, вид питания.Вообще не знаю, с чего начать. Ничего даже не и не рассказали, как реализовать, кто подскажет, поможет?

Решение задачи: «Определение принадлежности животного к определенному виду»

textual
Листинг программы
  1. predicates
  2. nondeterm is(string,string)
  3. nondeterm dvig(string,string)
  4. nondeterm sreda(string,string)
  5. nondeterm eda(string,string)
  6. clauses
  7. is(mlekop,zayac).
  8. is(zayac,guvotnoe).
  9. is(corsun,guvotnoe).
  10. is(corsun,mlekop).
  11. is(X,Y):-is(Y,Z),is(Z,X).
  12.  
  13. dvig(mlekop,hodit).
  14. dvig(hodit,zayac).
  15. dvig(ptica,letaet).
  16. dvig(ptica,mlekop).
  17.  
  18. dvig(X,Y):-dvig(Y,Z),dvig(Z,X).
  19.  
  20. sreda(guvotnoe,les).
  21. sreda(les,ptica).
  22. sreda(ptica,vozdux).
  23. sreda(X,Y):-sreda(Y,Z),sreda(X,Z).
  24.  
  25. eda(travoyad,zayac).
  26. eda(zayac,trava).
  27. eda(hichnik,maso).
  28. eda(X,Y):-eda(Y,Z),eda(X,Z).
  29. goal
  30. is(Y,guvotnoe),
  31. dvig(X,letaet),
  32. sreda(Z,les),
  33. eda(T,trava).

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

  1. У нас есть четыре предиката: is, dvig, sreda, eda.
  2. Предикат is используется для определения принадлежности животного к определенному виду.
  3. Предикат dvig используется для определения, может ли животное двигаться.
  4. Предикат sreda используется для определения, в какой среде обитает животное.
  5. Предикат eda используется для определения, что ест животное.
  6. Есть четыре утверждения:
    • is(mlekop,zayac) - белка является зайцем.
    • is(zayac,guvotnoe) - заяц является хищником.
    • is(corsun,guvotnoe) - сокол является хищником.
    • is(corsun,mlekop) - сокол является белкой.
  7. Есть два правила для предиката is:
    • is(X,Y):-is(Y,Z),is(Z,X) - если Y принадлежит к Z, и Z принадлежит к X, то X принадлежит к Y.
  8. Есть четыре утверждения:
    • dvig(mlekop,hodit) - белка может ходить.
    • dvig(hodit,zayac) - заяц может ходить.
    • dvig(ptica,letaet) - птица может летать.
    • dvig(ptica,mlekop) - птица может быть белкой.
  9. Есть два правила для предиката dvig:
    • dvig(X,Y):-dvig(Y,Z),dvig(Z,X) - если Y может двигаться как Z, и Z может двигаться как X, то X может двигаться как Y.
  10. Есть три утверждения:
    • sreda(guvotnoe,les) - хищник обитает в лесу.
    • sreda(les,ptica) - лес является местом обитания птицы.
    • sreda(ptica,vozdux) - птица обитает в воздухе.
  11. Есть два правила для предиката sreda:
    • sreda(X,Y):-sreda(Y,Z),sreda(X,Z) - если Y обитает в Z, и Z обитает в X, то X обитает в Y.
  12. Есть три утверждения:
    • eda(travoyad,zayac) - травоядное животное ест зайца.
    • eda(zayac,trava) - заяц ест траву.
    • eda(hichnik,maso) - хищник ест мясо.
  13. Есть два правила для предиката eda:
    • eda(X,Y):-eda(Y,Z),eda(X,Z) - если Y ест Z, и Z ест X, то X ест Y.
  14. Цель состоит из четырех частей:
    • is(Y,guvotnoe) - определить, является ли Y хищником.
    • dvig(X,letaet) - определить, может ли X летать.
    • sreda(Z,les) - определить, обитает ли Z в лесу.
    • eda(T,trava) - определить, ест ли T траву.

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


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

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

6   голосов , оценка 4 из 5

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

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

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