подмножество( [Первый | Остальные], [Первый | Подмн]):-

                                % Оставить первый элемент в подмножестве

    подмножество( Остальные, Подмн).

подмножество( [Первый | Остальные], Подмн) :-

                                % Убрать первый элемент из подмножества

    подмножество( Остальные, Подмн).

3. 9

разбиениесписка( [ ], [ ], [ ]).                           % Разбивать нечего

разбиениесписка( [X], [X], [ ]).

                            % Разбиение одноэлементного списка

разбиениесписка( [X, Y | Список], [Х | Список1],

                                [Y | Список2]) :-

    разбиениесписка( Список, Список1, Список2).

3. 10

можетзавладеть( состояние( _, _, _, имеет), [ ] ).

                                % Ничего не надо делать

можетзавладеть( Состояние, [Действие | Действия]):-

    ход( Состояние, Действие, НовоеСостояние),

                                % Первое действие

    можетзавладеть( НовоеСостояние, Действия).

                                % Оставшиеся действия

3. 11

линеаризация( [Голова | Хвост], ЛинейныйСписок ) :-

                                % Линеаризация непустого списка

    линеаризация( Голова, ЛинейнаяГолова ),

    линеаризация( Хвост, ЛинейныйХвост ),

    конк( ЛинейнаяГолова, ЛинейныйХвост,

        ЛинейныйСписок ).

линеаризация( [ ], [ ] ).                  % Линеаризация пустого списка

линеаризация( X, [X] ).

                            % Линеаризация объекта, не являющегося списком

% Замечание: при попытке получить от этой программы более

% одного варианта решения выдается бессмыслица

3. 12

Терм1 = играет_в( джимми, и( футбол, сквош) )

Терм2 = играет_в( сьюзан, и( теннис,

                                    и( баскетбол, волейбол) ) )

3. 13

:- ор( 300, xfx, работает)

:- ор( 200, xfx, в)

:- ор( 100, xfx, нашем)

3. 14

(a)    А = 1 + 0

(b)    В = 1 + 1 + 0

(c)    С = 1 + 1 + 1 + 1 + 0

(d)    D = 1 + 1 + 0 + 1

Вы читаете Prolog
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату