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


              

Пусть эта процедура переупорядочивает слагаемые



Упражнения

    Напишите процедуру упростить для упрощения алгебраических сумм, в которых участвуют числа и символы (строчные буквы). Пусть эта процедура переупорядочивает слагаемые так, чтобы символы предшествовали числам. Вот примеры ее использования:
        ?-  упростить( 1 + 1 + а, Е).
        Е = а + 2
        ?-  упростить( l + a + 4 + 2 + b + с, E).
        Е = а + b + с + 7
        ?-  упростить( 3 + х + х, Е).
        Е = 2*х + 3
  Определите процедуру
        добавить( Элемент, Список)
для добавления нового элемента в список. Предполагается, что все элементы, хранящиеся в списке, - атомы. Список состоит из всех хранящихся в нем элементов, а за ними следует хвост, который не конкретизирован и служит для принятия новых элементов. Пусть, например, в списке уже хранятся а, b и с, тогда
        Список = [а, b, с | Хвост]
где Хвост - переменная. Цель
        добавить( d, Список)
вызовет конкретизацию
        Xвoст = [d | НовыйХвост] и
        Список = [а, b, с, d | НовыйХвост]
Таким способом структура может наращиваться, включая в себя новые элементы. Определите также соответствующее отношение принадлежности.
Посмотреть ответ

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