このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1307166756/515
#  [1] 論理演算 
#  4つの変数a, a1, b, b1(全てint 型)に対して次の演算を実行します 
#  a に0 を代入 
#  b に1 を代入 
#  a1 = ~a 
#  b1 = ~b 
#  その後、4つの変数の値を10進数で表示するプログラムを書いてください。 
#  プログラムのソースと実行結果をメモ帳にまとめて、何故その結果に 
#  なったのか、自分で考えた理由を書き加えて、提出してください。 
#  

'4つの変数a, a1, b, b1(全てint 型)に対して次の演算を実行します。a に0 を単一化 b に1 を単一化 a1 = ~a b1 = ~b その4つの変数の値を10進数で表示する'(_a1,_b) :-
        '~の実行'(_a,_a1),
        '~の実行'(_b,_b1),
        'その4つの変数の値を10進数で表示する'(_a,_a1,_b,_b1),!.

'~の実行'(X,Y) :-
        X >= 0,
        Y is (X * -1) - 1,!.
'~の実行'(X,Y) :-
        X < 0,
        Y is abs(X) - 1,!.

'その4つの変数の値を10進数で表示する'(_a,_a1,_b,_b1) :-
        writef('%t %t %t %t\n',[_a,_a1,_b,_b1]).