Упражнения

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];

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

0

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

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