このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1311089619/682
#  [1] 授業単元:C言語演習 
#  [2] 問題文:引数argvに以下の3種類がある。 
#  組み合わせて使用した場合にNGを出力しなさい。 
#  例) 
#  0 ... 指定なし 
#  1 ... 指定あり 
#  引数 | --a | --b | --c |  
#  -----+-----+-----+-----+------ 
#       |  0  |  0  |  0  |  OK 
#       |  0  |  0  |  1  |  OK 
#       |  0  |  1  |  0  |  OK 
#       |  0  |  1  |  1  |  NG 
#       |  1  |  0  |  0  |  OK 
#       |  1  |  0  |  1  |  NG 
#       |  1  |  1  |  0  |  NG 
#       |  1  |  1  |  1  |  NG 
#  

'引数argvに以下の3種類がある。組み合わせて使用した場合にNGを出力する' :-
        current_prolog_flag(argv,ParameterList),
        パラメータ解析(ParameterList,_a,_b,_c),
        組み合わせて使用した場合にNGを出力する(_a,_b,_c,_診断),
        writef('%t\n',[_診断]).

パラメータ解析([_プログラム名|L],_a,_b,_c) :-
        findall(Y,(
                    member(X,[a,b,c]),
                    member(A,L),
                    split(A,['--','='],[X,Y])),
                [_a,_b,_c]).

組み合わせて使用した場合にNGを出力する(0,0,0,'OK') :- !.
組み合わせて使用した場合にNGを出力する(1,0,0,'OK') :- !.
組み合わせて使用した場合にNGを出力する(0,1,0,'OK') :- !.
組み合わせて使用した場合にNGを出力する(0,0,1,'OK') :- !.
組み合わせて使用した場合にNGを出力する(1,1,0,'NG') :- !.
組み合わせて使用した場合にNGを出力する(1,0,1,'NG') :- !.
組み合わせて使用した場合にNGを出力する(0,1,1,'NG') :- !.
組み合わせて使用した場合にNGを出力する(1,1,1,'NG') :- !.