このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1311089619/11
#  三項だけで行う電卓を作ったのですが、文が長すぎたということで却下されました。 
#  出来れば以下のソースを基に関数を作って簡略化したソースを作っていただけませんか? 
#  宜しくお願いします。 
#  http://ime.nu/codepad.org/qblj0aNR   
# 
# 

結合強度('+',400).
結合強度('-',400).
結合強度('*',500).
結合強度('/',500).

三項だけで行う電卓 :-
        readln([_項1,_演算子1,_項2,_演算子2,_項3]),
        式評価(_項1,_演算子1,_項2,_演算子2,_項3,_値),
        writef('%t\n',[_値]).

式評価(_項1,_演算子1,_項2,_演算子2,_項3,_値) :-
        結合強度比較(_演算子1,_演算子2,_結合順序),
        式評価(_結合順序,_項1,_演算子1,_項2,_演算子2,_項3,_値)

結合強度比較(_演算子1,_演算子2,_結合順序) :-
        結合強度(_演算子1,_結合強度1),
        結合強度(_演算子2,_結合強度2),
        結合強度比較(_結合強度1,_結合強度2,_結合順序).

結合強度比較(_結合強度1,_結合強度2,>=) :-
        _結合強度1 >= _結合強度2,!.
結合強度比較(_結合強度1,_結合強度2,<) :-
        _結合強度1 < _結合強度2,!.

式評価(>=,_項1,_演算子1,_項2,_演算子2,_項3,_値) :-
        式評価(_演算子1,_項1,_項2,_値1),
        式評価(_演算子2,_値1,_項3,_値).
式評価(<,_項1,_演算子1,_項2,_演算子2,_項3,_値) :-
        式評価(_演算子2,_項2,_項3,_値1),
        式評価(_演算子1,_値1,_項1,_値).

式評価(_演算子,_項1,_項2,_値):-
        P =.. [_演算子,_項1,_項2],
        _値 is P.