Семейные отношения - Prolog

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

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

Для семей, изображенных на схеме: задайте факты типа: – мужчина (одноаргументный, всего 5 фактов), – женщина (одноаргументный, всего 4 факта), – родитель (двухаргументный, всего 8 фактов), – в браке (двухаргументный, всего 2 факта). Создайте двухаргументные предика'ты (первый аргумент входной, второй – выходной), определяющие для конкретного человека (указанного в первом аргументе): 1) мать/отца; 4) кровную сестру/брата; 2) дочь/сына; 5) сводную сестру/брата; 3) сестру/брата; 6) жену/мужа.
Не могу разобраться со сводными сестрами/братьями, помогите, пожалуйста

Решение задачи: «Семейные отношения»

textual
Листинг программы
  (not(mother(X, _)); not(mother(Y, _)); mother(X, MX), mother(Y, MY), MX\=MY)

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

В коде идет проверка на то, что у двух людей нет общих родителей, а именно:

  1. Либо у первого человека нет матери (not(mother(X, _))).
  2. Либо у второго человека нет матери (not(mother(Y, _))).
  3. У первого человека есть мать (mother(X, MX)).
  4. У второго человека есть мать (mother(Y, MY)).
  5. Мать первого человека не равна матери второго человека (MX\=MY).

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


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

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

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