Hi Alex,
Wed Jun 07 2006 15:33, Alex Kocharin wrote to Michael Zaichenko:
AK> ,-' Hello, Michael Zaichenko! How is your connection today?
MZ>> Hе согласен. MZ>> Hа Си тяжело серьезную логику прописывать.
AK> int bool1 = <длинное и страшное условие>
AK> int bool2 = <длинное и страшное условие>
AK> int bool3 = <длинное и страшное условие>
AK> int bool4 = <длинное и страшное условие>
AK> int bool5 = <длинное и страшное условие>
MZ>> Когда нужно принимать решения в зависимости от десятков условий, MZ>> а те условия из других десятков состоят и тд.
AK> А вот после см. выше одно удовольствие программить. :-) Hе, не получится. ежели зарание начать вычислять все условия, то процу времени не хватит, и при этом условий у меня не 5 а многие десятки.
Hа прологе все получается проще, я описываю систему, а не алгоритм. Вот дебильный пример, описывающий помножество целых. predicates set_of_i(integer) clauses set_of_i(1). set_of_i(2). set_of_i(3).
теперь если я вызову предикат set_of_i(5). То он сфейлится, поскольку 5 не входит в описываемое множество. но я еще могу написать set_of_i(X), write(X), fail. Получаем все элементы множества. Теперь напишем set_of_i(_),!. для того чтобы выяснить, пустое множество или нет.
Даже для самого тупейшего примера один предикат на прологе заменил 3 разных сишных функции.
теперь прикинь, сколько надо написать функций на си, чтобы заменить прологовский предикат с десятком аргументов. это уже больше тыщи функций! А это далеко не все свойства пролога...
WBR, Michael.