Определить предикат для представленной информации - 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").
Объяснение кода листинга программы
- Предикат
person(symbol, symbol, symbol, integer)
описывает человека с четырьмя атрибутами: именем, фамилией, отчеством и годом рождения. - Предикат
familiar(symbol)
описывает отношение знакомства между людьми. - В первой части кода определены три примера людей с их атрибутами, используя предикат
person
. - Во второй части кода определено правило для предиката
familiar
, которое гласит, что если два человека знакомы, то они живут в разных городах. - В третьей части кода выводится вопрос
У меня есть друзья из других городов?
и вызывается предикатfamiliar
для человекаI
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д