Определить предикат для представленной информации - Prolog

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

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

в Visual Prolog 5.2 Информация: Фио Вашего знакомого, город, номер телефона, год рождения. Имея соответствующий набор фактов, определить, есть ли у Вас знакомые из разных городов (да или нет). Заранее огромное спасибо!

Решение задачи: «Определить предикат для представленной информации»

textual
Листинг программы
PREDICATES
    nondeterm person(symbol, symbol, symbol, integer)
    nondeterm familiar(symbol)
CLAUSES
    person("I", "New York", "+56455231", 1999).
    person("Obama B.J.", "New York", "+5645235231", 1980).
    person("Washington J.W.", "Boston", "+564564221", 1984).
    familiar(I):-
        person(I, My_City, _, _),
        person(My_friend, His_City, _, _),
        My_City <> His_City,
        write("Yes there is.\n", "My friend ", My_friend, " lives in the ", His_City, "\n").
GOAL
    write("I have friends from other cities?\n"),
    familiar("I").

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

  1. Предикат person(symbol, symbol, symbol, integer) описывает человека с четырьмя атрибутами: именем, фамилией, отчеством и годом рождения.
  2. Предикат familiar(symbol) описывает отношение знакомства между людьми.
  3. В первой части кода определены три примера людей с их атрибутами, используя предикат person.
  4. Во второй части кода определено правило для предиката familiar, которое гласит, что если два человека знакомы, то они живут в разных городах.
  5. В третьей части кода выводится вопрос У меня есть друзья из других городов? и вызывается предикат familiar для человека I.

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


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

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

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