Программный код зодиака, использующий пролог, не дает вывода - PullRequest
0 голосов
/ 29 сентября 2019

Моя компиляция прошла успешно.
Тем не менее, я не даю вывод, когда я даю следующий ввод: find_sign(d(6,5,1982))

%domains
%date = d(day,mon,year)
%dm = da(day,mon)
%day , mon ,year = integer
%sign = symbol

%predicates
%zodiac_month(sign,dm,dm)
%find_sign(Date)

%Clauses
zodiac_month(aquarius,da(20,1),da(18,2)).
zodiac_month(pisces,da(19,2),da(20,3)).
zodiac_month(aries,da(21,3),da(19,4)).
zodiac_month(taurus,da(20,4),da(20,5)).
zodiac_month(gemini,da(21,5),da(21,6)).
zodiac_month(cancer,da(22,6),da(22,7)).
zodiac_month(leo,da(23,7),da(22,8)).
zodiac_month(virgo,da(23,8),da(22,9)).
zodiac_month(libra,da(23,9),da(23,10)).
zodiac_month(scorpio,da(24,10),da(21,11)).
zodiac_month(sagittarius,da(22,11),da(21,12)).
zodiac_month(capricorn,da(22,12),da(19,1)).

find_sign(d(Day,Mon,_Year)) :-
   zodiac_month(Sign,da(_,_),da(Day2,Mon2)),
   Mon2 = Mon,
   Day =< Day2,
   format('Zodiac sign is ~w~n', [Sign]).
find_sign(d(Day,Mon,_Year)) :-
   zodiac_month(Sign,da(Day1,Mon1),da(_,_)),
   Mon1 = Mon,
   Day >= Day1,
   format('Zodiac Sign is ~w~n', [Sign]).
find_sign(Date) :-
   format('~w: Incorrect Date specified', [Date]).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...