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



Упражнения



Упражнения

7. 1.    Напишите процедуру упростить для упрощения алгебраических сумм, в которых участвуют числа и символы (строчные буквы). Пусть эта процедура переупорядочивает слагаемые так, чтобы символы предшествовали числам. Вот примеры ее использования:

        ?-  упростить( 1 + 1 + а, Е).
        Е = а + 2

        ?-  упростить( l + a + 4 + 2 + b + с, E).
        Е = а + b + с + 7

        ?-  упростить( 3 + х + х, Е).
        Е = 2*х + 3

7. 2.  Определите процедуру

        добавить( Элемент, Список)

для добавления нового элемента в список. Предполагается, что все элементы, хранящиеся в списке, - атомы. Список состоит из всех хранящихся в нем элементов, а за ними следует хвост, который не конкретизирован и служит для принятия новых элементов. Пусть, например, в списке уже хранятся а, b и с, тогда

        Список = [а, b, с | Хвост]

где Хвост - переменная. Цель

        добавить( d, Список)

вызовет конкретизацию

        Xвoст = [d | НовыйХвост] и
        Список = [а, b, с, d | НовыйХвост]

Таким способом структура может наращиваться, включая в себя новые элементы. Определите также соответствующее отношение принадлежности.

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



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