№1. Грустная история о том, как один лицеист очень хотел подарить "валентинку" любимой девочке. Он так сильно спешил, что, подбегая к крыльцу физфака поскользнулся и... упал (растянувшись рядом с машиной декана). Придя в себя, он никак не мог вспомнить, кому он хотел отправить "валентинку". В голове крутились имена: Таня, Лена, Аня, Катя и Марина. Но вспомнить нужно только одно. Напрягая свою память так, что можно было услышать шелест извилин в голове, несчастному влюбленному удалось установить следующее. 1. Если я люблю Таню, то я люблю Лену или Аню.

2. Если я люблю Лену, то я люблю Аню и Катю.

3. Если я люблю Аню или Катю, то я не люблю Марину.

4. Если я не люблю Катю, то я люблю Таню и Марину.

найти ему свою любовь.

Elluy Elluy    1   18.11.2020 16:03    41

Ответы
аня2836 аня2836  18.12.2020 16:13

predicates

nondeterm решение(string)

nondeterm условие(integer,integer,integer,integer)

nondeterm имя(integer,integer,integer,integer,integer,string)

clauses

решение(Имя):-

   имя(Таня,Лена,Аня,Катя,Марина,Имя),

   условие(1,Таня,Лена,Аня),

   условие(2,Лена,Аня,Катя),

   условие(3,Аня,Катя,Марина),

   условие(4,Катя,Таня,Марина).

условие(1,Таня,Лена,Аня):-

   Таня=1,Лена+Аня>0;Таня=0.

условие(2,Лена,Аня,Катя):-

   Лена=1,Аня=1,Катя=1;Лена=0.

условие(3,Аня,Катя,Марина):-

   Аня+Катя>0,Марина=0;Аня+Катя=0.

условие(4,Катя,Таня,Марина):-

   Катя=0,Таня=1,Марина=1;Катя=1.

имя(1,0,0,0,0,"Таня").

имя(0,1,0,0,0,"Лена").

имя(0,0,1,0,0,"Аня").

имя(0,0,0,1,0,"Катя").

имя(0,0,0,0,1,"Марина").

goal

решение(Имя).

Объяснение:

Имя=Катя

1 Solution

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика