Чтение онлайн

на главную - закладки

Жанры

Неизвестно

Шрифт:

Наша первая версия, перестановка, произведет успешную конкретизацию L всеми шестью перестановками. Если пользователь потребует новых решений, он никогда не получит ответ "нет", поскольку программа войдет в бесконечный цикл, пытаясь отыскать новые несуществующие перестановки. Вторая версия, перестановка2, в этой ситуации найдет только первую (идентичную) перестановку, а затем сразу зациклится. Следовательно, при использовании этих отношений требуется соблюдать осторожность.

Упражнения

3. 3. Определите два предиката

четнаядлина( Список) и нечетнаядлина( Список)

таким образом, чтобы они были истинными, если их аргументом является список четной или нечетной длины соответственно. Например, список [а, b, с, d] имеет четную длину, a [a, b, c] - нечетную.

Посмотреть ответ

3. 4. Определите отношение

обращение( Список, ОбращенныйСписок),

которое обращает списки. Например,

обращение( [a, b, c, d], [d, c, b, a] ).

Посмотреть ответ

3. 5. Определите предикат

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

Список называется палиндромом, если он читается одинаково, как слева направо, так и справа налево. Например, [м, а, д, а, м].

Посмотреть ответ

3. 6. Определите отношение

сдвиг( Список1, Список2)

таким образом, чтобы Список2 представлял собой Список1, "циклически сдвинутый" влево на один символ. Например,

?- сдвиг( [1, 2, 3, 4, 5], L1),

сдвиг1( LI, L2)

дает

L1 = [2, 3, 4, 5, 1]

L2 = [3, 4, 5, 1, 2]

Посмотреть ответ

3. 7. Определите отношение

перевод( Список1, Список2)

для перевода списка чисел от 0 до 9 в список соответствующих слов. Например,

перевод( [3, 5, 1, 3], [три, пять, один, три] )

Используйте в качестве вспомогательных следующие отношения:

означает( 0, нуль).

означает( 1, один).

означает( 2, два).

. . .

Посмотреть ответ

3. 8. Определите отношение

подмножество( Множество, Подмножество)

где Множество и Подмножество– два списка представляющие два множества. Желательно иметь возможность использовать это отношение не только для проверки включения одного множества в другое, но и для порождения всех возможных подмножеств заданного множества. Например:

?- подмножество( [а, b, с], S ).

S = [a, b, c];

S = [b, c];

S = [c];

S = [ ];

S = [a, c];

S = [a];

. . .

Посмотреть ответ

3. 9. Определите отношение

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

так, чтобы оно распределяло элементы списка между двумя списками Список1 и Список2 и чтобы эти списки были примерно одинаковой длины. Например:

разбиениесписка( [а, b, с, d, e], [a, с, е], [b, d]).

Посмотреть ответ

3. 10. Перепишите программу об обезьяне и бананах из главы 2 таким образом, чтобы отношение

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

давало не только положительный или отрицательный ответ, но и порождало последовательность действий обезьяны, приводящую ее к успеху. Пусть Действия будет такой последовательностью, представленной в виде списка ходов:

Действия = [ перейти( дверь, окно),

передвинуть( окно, середина),

залезть, схватить ]

Посмотреть ответ

3. 11. Определите отношение

линеаризация( Список, ЛинейныйСписок)

где Список может быть списком списков, а ЛинейныйСписок– это тот же список, но "выровненный" таким образом, что элементы его подсписков составляют один линейный список. Например:

?
– линеаризация( [а, d, [с, d], [ ], [[[е]]], f, L).

L = [a, b, c, d, e, f]

Посмотреть ответ

Назад | Содержание | Вперёд

Назад | Содержание | Вперёд

3. 3. Операторная запись (нотация)

В математике мы привыкли записывать выражения в таком виде:

2*a + b*с

где + и *– это операторы, а 2, а, b, с– аргументы. В частности, + и * называют инфиксными операторами, поскольку они появляются между своими аргументами. Такие выражения могут быть

Поделиться:
Популярные книги

Третий Генерал: Том V

Зот Бакалавр
4. Третий Генерал
Фантастика:
городское фэнтези
аниме
сказочная фантастика
попаданцы
5.00
рейтинг книги
Третий Генерал: Том V

Последний Паладин. Том 9

Саваровский Роман
9. Путь Паладина
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Последний Паладин. Том 9

Пиршество демонов

Кейн Рейчел
4. Морганвилльские вампиры
Любовные романы:
любовно-фантастические романы
9.14
рейтинг книги
Пиршество демонов

Третий глаз-алмаз

Донцова Дарья
33. Любительница частного сыска Даша Васильева
Детективы:
иронические детективы
7.31
рейтинг книги
Третий глаз-алмаз

Гримуар темного лорда VI

Грехов Тимофей
6. Гримуар темного лорда
Фантастика:
попаданцы
аниме
фэнтези
5.25
рейтинг книги
Гримуар темного лорда VI

Вердикт

Гришэм Джон
Детективы:
триллеры
7.75
рейтинг книги
Вердикт

Адаптация

Кораблев Родион
1. Другая сторона
Фантастика:
фэнтези
6.33
рейтинг книги
Адаптация

Полуварвар

Иванов Тимофей
1. Полуварвар
Фантастика:
попаданцы
фэнтези
5.00
рейтинг книги
Полуварвар

Сент Ив

Стивенсон Роберт Льюис
Приключения:
исторические приключения
7.75
рейтинг книги
Сент Ив

Золотая кровь

Шепард Люциус
Фантастика:
ужасы и мистика
6.25
рейтинг книги
Золотая кровь

Наномашины, первоклашка! Том 4

Новиков Николай Васильевич
4. Чего смотришь? Иди книгу читай
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наномашины, первоклашка! Том 4

Тридцать три - нос утри

Крапивин Владислав Петрович
Детские:
сказки
5.00
рейтинг книги
Тридцать три - нос утри

#Бояръ-Аниме. Газлайтер. Том 13

Володин Григорий Григорьевич
13. История Телепата
Фантастика:
боевая фантастика
аниме
попаданцы
фэнтези
7.33
рейтинг книги
#Бояръ-Аниме. Газлайтер. Том 13

Статьи из "Арабесок"

Гоголь Николай Васильевич
Другие редакции
Документальная литература:
публицистика
4.75
рейтинг книги
Статьи из Арабесок