このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1357748713/561
#  [1] 授業単元:C言語演習 
#  [2] 問題文(含コード&リンク): 
#  問題A 
#  0と1だけで構成されたテキストファイルAがある。このファイルを読み込み、文字数をカウントし、 
#  同じ文字数の0と1で構成された乱数列を生成し、テキストファイルBとして出力するプログラムを作成せよ。 
#  シード値はシステム時刻など適当なものを使用せよ。 
#  問題B 
#  問題Aで使用したテキストファイルA、Bを一文字ずつXORしテキストファイルCとして出力するプログラムを作成せよ。 
#  

'問題B 
問題Aで使用したテキストファイルA、Bを一文字ずつXORしテキストファイルCとして出力するプログラムを作成せよ。'(_テキストファイルA,_テキストファイルB,_テキストファイルC) :-
        get_chars(_テキストファイルA,Chars_1),
        get_chars(_テキストファイルB,Chars_2),
        一文字ずつXORしテキストファイルCとして出力する(_テキストファイルC,Chars_,Chars_2).

一文字ずつXORしテキストファイルCとして出力する(Outstream,Chars_,Chars_2) :-
        open(_テキストファイルC,write,Outstream),
        forall(一文字ずつXORし(Chars_1,Chars_2,C),
               writef(Outstream,'%t',[C])),
        close(Outstream).        

一文字ずつXORし(Chars_1,Chars_2,C) :-
        nth1(_nth1,Chars_1,A),
        nth1(_nth1,Chars_2,B),
        '数字のXOR'(A,B,C).

'数字のXOR'('0','0','0').
'数字のXOR'('1','0','1').
'数字のXOR'('0','1','1').
'数字のXOR'('1','1','0').