このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1307166756/793
#  [1] 授業単元:文字列  
#  [2] 問題文(含コード&リンク):  
#  ../test/read.cgi/tech/1307166756/757のプログラムを、ファイルinput.txtから読込、処理結果を画面だけではなく、 
#  ファイルoutput.txtに書き出すプログラムにしなさい。  
#  

'ファイルinput.txtから読込、処理結果を画面だけではなく、ファイルoutput.txtに書き出す' :-
        'ファイルinput.txtから読込'(Codes),
        '処理結果を画面だけではなく、ファイルoutput.txtに書き出す'(Codes).

'ファイルinput.txtから読込'(Codes) :-
        get_codes('input.txt',Codes).

'処理結果を画面だけではなく、ファイルoutput.txtに書き出す'(Codes) :-
        open('output.txt',write,Outstream),
        '処理結果を'(Codes,Code2,R),
        '画面に書きだす'(Code2),
        'ファイルoutput.txtに書きだす'(Outstream,code2),
        R = [],
        close(Outstream).

処理結果を(Codes,Code2,R) :-
        append(_,[Code1|R],Codes),
        処理結果(Code1,Code2).

処理結果(Code1,Code2) :-
        Code1 >= 97,
        Code1 =< 122,
        Code2 is Code1 - 32,!.
処理結果(Code1,Code2) :-
        Code >= 65,
        Code =< 90,
        Code2 is Code1 + 32,!.
処理結果(Code,Code).

画面に書き出す(Code2) :-
        put_code(Code2).

'ファイルoutput.txtに書きだす'(Outstream,code2) :-
        put_code(Outstream,Code2).