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

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

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

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

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

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

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

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

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


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

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

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

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

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

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