Читаем Prolog полностью

        сестра( X, Z).

1. 6

Да.    (Определение верно)

1. 7

(a)    возвратов не будет

(b)    возвратов не будет

(c)    возвратов не будет

(d)    возвраты будут

Глава 2

2. 1

(a)    переменная

(b)    атом

(c)    атом

(d)    переменная

(e)    атом

(f)    структура

(g)    число

(h)    синтаксически неправильное выражение

(i)    структура

(j)    структура

2. 3

(a)    успех

(b)    неуспех

(c)    неуспех

(d)    D = 2,    Е = 2

(e)    Р1 = точка(-1, 0)

        Р2 = точка( 1, 0)

        Р3 = точка( 0, Y)

Такая конкретизация определяет семейство треугольников, у которых две вершины располагаются на оси х в точках 1 и -1, а третья - в произвольной точке оси у.

2. 4

отр( точка( 5, Y1),    точка( 5, Y2) )

2. 5

регулярный( прямоугольник( точка( X1, Y1),

                                    точка( Х2, Y1), точкa( X2, Y3),

                                    точка( X1, Y3) ) ).

Здесь предполагается, что первая точка соответствует нижней левой вершине прямоугольника.

2. 6

(a)    А = два

(b)    no

(c)    С = один

(d)    D = s(s(1));

        D = s(s(s(s(s(1)))))

2. 7

родственники( X, Y) :-

    предок( X, Y);

    предок( Y, X);

    предок( Z, X),

    предок( Z, Y);

    предок( X, Z),

    предок( Y, Z).

2. 8

преобразовать( 1, один).

преобразовать( 2, два).

преобразовать( 3, три).

2. 9

В случае, изображенном на рис. 2.10, пролог-система выполняет несколько больший объем работы.

2. 10

В соответствии с определением сопоставления, приведенном в разд. 2.2, данное сопоставление будет успешным. X приобретает вид циклической структуры, в которой сам X присутствует в качестве одного из аргументов.

Глава 3

3. 1

(a)    конк( L1, [ _, _, _ ], L)

(b)    конк( [ _, _, _ ], L1, L),

                        % Удалить 3 первые элемента L

        конк( L2, [ _, _, _ ], L1)

                        % Удалить 3 последние элемента L1

Вот более короткий вариант, предложенный I. Tvrdy:

        конк( [ _, _, _ | L2], [ _, _, _ ], L)

3. 2

(а)    последний( Элемент, Список) :-

        конк( _, [Элемент], Список).

(b)    последний( Элемент, [Элемент]).

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

        последний( Элемент, Остальные).

3. 3

четнаядлина( [ ] ).

четнаядлина( [Первый | Остальные] ) :-

    нечетнаядлина( Остальные).

нечетнаядлина( [ _ ] ).

нечетнаядлина( [Первый | Остальные] ) :-

    четнаядлина( Остальные).

3. 4

обращение( [ ], [ ]).

обращение( [Первый | Остальные], ОбращСпис): -

    обращение( Остальные, ОбращСписОстальных),

конк( О6ращСписОстальных, [Первый], ОбращСпис).

3. 5

% Такой предикат легко определить при помощи отношения обратить

палиндром( Список) :-

    обратить( Список, Список).

% Вот другое решение, не использующее обратить

палиндром1( [ ] ).

палиндром1( [ _ ] ).

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

    конк( Середина, [Первый], Остальные),

    палиндром1( Середина).

3. 6

сдвиг( [Первый | Остальные], Сдвинут) :-

    конк( Остальные, [Первый], Сдвинут).

3. 7

перевод( [ ], [ ]).

перевод( [Голова | Хвост], [Голова1 | Хвост1]) :-

    означает( Голова, Голова1),

    перевод( Хвост, Хвост1).

3. 8

подмножество( [ ], [ ] ).

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

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

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

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

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

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

3. 9

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

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

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

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

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

Перейти на страницу:

Похожие книги

12 великих трагедий
12 великих трагедий

Книга «12 великих трагедий» – уникальное издание, позволяющее ознакомиться с самыми знаковыми произведениями в истории мировой драматургии, вышедшими из-под пера выдающихся мастеров жанра.Многие пьесы, включенные в книгу, посвящены реальным историческим персонажам и событиям, однако они творчески переосмыслены и обогащены благодаря оригинальным авторским интерпретациям.Книга включает произведения, созданные со времен греческой античности до начала прошлого века, поэтому внимательные читатели не только насладятся сюжетом пьес, но и увидят основные этапы эволюции драматического и сценаристского искусства.

Александр Николаевич Островский , Иоганн Вольфганг фон Гёте , Оскар Уайльд , Педро Кальдерон , Фридрих Иоганн Кристоф Шиллер

Драматургия / Проза / Зарубежная классическая проза / Европейская старинная литература / Прочая старинная литература / Древние книги
Волчья тропа
Волчья тропа

Мир после ядерной катастрофы. Человечество выжило, но высокие технологии остались в прошлом – цивилизация откатилась назад, во времена Дикого Запада.Своенравная, строптивая Элка была совсем маленькой, когда страшная буря унесла ее в лес. Суровый охотник, приютивший у себя девочку, научил ее всему, что умел сам, – ставить капканы, мастерить ловушки для белок, стрелять из ружья и разделывать дичь.А потом она выросла и узнала страшную тайну, разбившую вдребезги привычную жизнь. И теперь ей остается только одно – бежать далеко на север, на золотые прииски, куда когда-то в поисках счастья ушли ее родители.Это будет долгий, смертельно опасный и трудный путь. Путь во мраке. Путь по Волчьей тропе… Путь, где единственным защитником и другом будет таинственный волк с черной отметиной…

Алексей Семенов , Бет Льюис , Даха Тараторина , Евгения Ляшко , Сергей Васильевич Самаров

Фантастика / Приключения / Боевик / Славянское фэнтези / Прочая старинная литература