Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Пролог (http://forum.oszone.net/showthread.php?t=233224)

Smasher 20-04-2012 15:44 1903231

Пролог
 
Дорогие форумчане! Возможно кто-то разбирается в ПРОЛОГе? В частности речь идёт о реализации 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-