Поиск младшего сына и индексы заданого элемента в списке - Prolog

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

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

Здравствуйте, Уважаемые! Собственно вопрос. На диалекте SWI Prolog yеобходимо сделать два задания: 1) найти младшего сына исходя из таких данных
Листинг программы
  1. father(bob, mary).
  2. father(bob, jane).
  3. man(bob).
  4. man(jim).
  5. age(bob,70).
  6. age(jon, 20).
  7. age(jim, 30).
С тем как найти просто сына вопросов не возникает
Листинг программы
  1. son(X,Y):-(father(Y,X);mother(Y,X)),man(X).
Но как определить что он младший? Идеи с поискам минимума между двумя сыновьями не работает как только оказывается что сын один. 2) Написать предикат IndicesOf для нахождения списка индексов всех вхождений елемента в список. Тут пыталась преобразовать вот такой код, но моих знаний явно не хватает:
Листинг программы
  1. find_pos([],_,0):-!.
  2. find_pos([H|T],X,K):- X<>H,K1=K+1,find_pos(T,X,K1).
  3. find_pos(_,_,K):-write(K),nl,!.
Уже несколько дней мучаюсь, и обыскала все и вся. Помогите пожалуйста в решении этих задач. 3 подобных уже сделала, а эти две ну никак не получаются.

Решение задачи: «Поиск младшего сына и индексы заданого элемента в списке»

textual
Листинг программы
  1. all_sons(jim, L), select_yungest(L, X).

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


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

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

12   голосов , оценка 4.333 из 5

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

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

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