Пролог
Дорогие форумчане! Возможно кто-то разбирается в ПРОЛОГе? В частности речь идёт о реализации SWI-Prolog. У меня есть задача, которая опытному программисту покажется тривиальной.
Я только начал изучение этого языка и, так как он совсем не похож на знакомые языки как Java и C++, я столкнулся с определёнными трудностями. Ни чтение прилагающегося к лекции материала, ни гугл мне разобраться с этой проблемой не помогли. От меня требуются программа, способная упрощать математические выражения такого вида: X + 0 = X X * 1 = X 0 + X = X 1 * X = X Примеры запросов: ?- simplify(a + 0, X). должно выводить X = a. ?- simplify((a + (b * 1)) * 1, X). должно выводить X = a + (b * 1). Я совсем не пойму как мне отлавливать операции +0 и *1. Попытка объявления правила simplify(A, X) :- ... ставит меня в тупик. Как работать с этим A? |
Время: 18:27. |
Время: 18:27.
© OSzone.net 2001-