Составить группы ребят по интересам. - Prolog

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

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

Известно, что: Элен любит мороженое; Джон любит читать книги; Том - играть в теннис и футбол; Эрик - смотреть телевизор; Марк любит то же, что Элен и Джон; Боб любит читать книги. Составьте Пролог программу, содержащую эту информацию, в которой должна присутствовать аксиома:” Билл любит то же, что и Том Н~ Программа должна позволять составлять группы ребят по интересам .

Решение задачи: «Составить группы ребят по интересам.»

textual
Листинг программы
like(elen, icecream).
like(jon, read_books).
like(tom, tennis).
like(tom, football).
like(erik, watch_tv).
like(mark, Do) :-
    like(elen, Do).
like(mark, Do) :-
    like(jon, Do).
like(bob, read_books).
like(bil, Do) :-
    like(tom, Do).
 
group_by_do(I1, Gs) :-
    findall(I, like(_, I), Is),
    sort(Is, Is1),
    member(I1, Is1),
    findall(S, like(S, I1), Gs).

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

  1. like(elen, icecream).
  2. like(jon, read_books).
  3. like(tom, tennis).
  4. like(tom, football).
  5. like(erik, watch_tv).
  6. like(mark, Do) :-     like(elen, Do).
  7. like(mark, Do) :-     like(jon, Do).
  8. like(bob, read_books).
  9. like(bil, Do) :-     like(tom, Do).
  10. group_bydo(I1, Gs) :-     findall(I, like(, I), Is),     sort(Is, Is1),     member(I1, Is1),     findall(S, like(S, I1), Gs).

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


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

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

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