Напишите программу на SWISH PROLOG
Формулировка задачи:
Министры иностранных дел России, США и Китая обсудили за закрытыми дверями проекты соглашения о полном разоружении, представленные каждой из стран. Отвечая затем на вопрос журналистов: "Чей именно проект был принят?", министры дали такие ответы: Россия — "Проект не наш, проект не США"; США — "Проект не России, проект Китая"; Китай — "Проект не наш, проект России". Один из них (самый откровенный) оба раза говорил правду; второй (самый скрытный) оба раза говорил неправду, третий (осторожный) один раз сказал правду, а другой раз — неправду. Напишите на языке SWI Prolog программу решающую, представителями каких стран являются откровенный, скрытный и осторожный министры.
. Требуется помощь так ,как я не понимаю в прологе ничего(((.Решение задачи: «Напишите программу на SWISH PROLOG»
textual
Листинг программы
%% not(:Goal) is semidet. % % Pre-ISO version of \+/1. Note that some systems define not/1 as % a logically more sound version of \+/1. not(Goal) :- \+ Goal.
Объяснение кода листинга программы
- Задача кода - написать программу на SWISH PROLOG для логического вывода.
- Программа начинается с директивы %% not(:Goal) is semidet.
- Эта директива определяет, что не существует фиксированного способа достичь цели :Goal.
- Следующая строка % Pre-ISO version of +/1.
- В ней говорится, что некоторые системы определяют not/1 как более логичную версию +/1.
- Далее идет определение not(Goal) :- + Goal.
- В этом определении not(Goal) является целью, а + Goal - способом ее достижения.
- В итоге, если цель Goal не может быть достигнута, то не(Goal) будет истинным.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д