X = 1;

        Y = 2;

        X = 2;

        Y = 1;

        X = 2

        Y = 2;

(c)    X = 1;

        Y = 1;

        X = 1;

        Y = 2;

5. 2

класс( Число, положительное) :-

    Число > 0,  !.

класс( 0, нуль) :-  !.

класс( Число, отрицательное).

5. 3

разбить( [ ], [ ], [ ]).

разбить( [X | L], [X | L1], L2) :-

    X >= 0,  !,

    разбить( L, L1, L2).

разбить( [X | L], L1, [X | L2]) .

    разбить( L, L1, L2).

5. 4

принадлежит( Некто, Кандидаты),

        not принадлежит( Некто, Исключенные)

5. 5

разность( [ ], _, [ ]).

разность( [X | L1], L2, L):-

    принадлежит( X, L2),  !,

    разность( L1, L2, L).

разность( [X | L1], L2, [X | L]) :-

    разность( L1, L2, L).

5. 6

унифицируемые( [ ], _, [ ]).

унифицируемые( [Первый | Остальные], Терм, Список) : -

    not( Первый = Терм),  !,

    унифицируемые( Остальные, Терм, Список).

унифицируемые( [Первый | Остальные], Терм,

                                [Первый | Список] ) :-

    унифицируемые( Остальные, Терм, Список).

Глава 6

6. 1

найтитерм( Терм) :-

                            % Пусть текущий входной поток - это файл f

    read( Терм),  !,

                            % Текущий терм из f сопоставим с Терм'ом?

    write( Терм);                  % Если да - вывести его на терминал

    найтитерм( Терм).       % В противном случае - обработать

6. 2

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

0

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

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