Ответ в теме: Логическая задача: предвыборная дискуссия

      Комментарии к записи Ответ в теме: Логическая задача: предвыборная дискуссия отключены
#2783

Для начала надо описать типы данных — имена кандидатов, избирателей, составной тип для фиксации результатов голосования и тип списка результатов:

DOMAINS
voter_d = per;zan;zak
candidate_d = dubua;dupon;duran
vote_d = vote(voter_d, candidate_d)
votes_d = vote_d*

Затем нужно описать возможных кандидатов во внутренней базе данных для их последующего перебора:
PREDICATES
nondeterm candidate(candidate_d)
CLAUSES
candidate(dubua).
candidate(dupon).
candidate(duran).

Если вы уже сейчас запустите генерацию вариантов (для каждого избирателя запросите кандидата) — то получите 27 ответов:
GOAL 
candidate(PerCandidate),
candidate(ZanCandidate),
candidate(ZakCandidate).

prolog_logical_task_votes_discussion