Определить предикат для представленной информации - 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
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д