Программирование на языке Пролог для искусственного интеллекта



           

Упражнения


2. 6.    Рассмотрим следующую программу:

    f( 1, один).

    f( s(1), два).

    f(    s(s(1)),    три).

    f( s(s(s(X))),  N) :-

               f(X,   N).

Как пролог-система ответит на следующие вопросы? Там, где возможны несколько ответов, приведите по крайней мере два.

    (a)        ?- f( s( 1), A).

    (b)        ?- f( s(s(1)), два).

    (c)        ?- f(   s(s(s(s(s(s(1)))))), С).

    (d)        ?- f( D, три).

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

2. 7.    В следующей программе говорится, что два человека являются родственниками, если

    (a)        один является предком другого, или

    (b)        у них есть общий предок, или

    (c)        у них есть общий потомок.

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

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

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

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

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

                      % X и Y имеют общего предка

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

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

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

                      % X и Y имеют общего потомка

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

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

Сможете ли вы сократить эту программу, используя запись с точками с запятой?

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

2. 8.    Перепишите следующую программу, не пользуясь точками с запятой.

    преобразовать( Число, Слово) :-

          Число = 1,  Слово = один;

          Число = 2,  Слово = два;

          Число = 3,  Слово = три.

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

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

| Вперёд




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