このディレクトリの索引

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),
        '処理結果を画面だけではなく、Outstreamに書き出す'(Outstream,_処理結果のCodes),
        close(Outstream).

'処理結果を画面だけではなく、Outstreamに書き出す'(Outstream,_処理結果のCodes) :-
        append(_,[Code|R],_処理結果のCodes),
        処理結果(Code,_処理結果のCode),
        画面に書き出す(_処理結果のCode),
        ファイルに書き出す(Outstream,_処理結果のCode),
        R = [].

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

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

ファイルに書き出す(Outstream,Code) :-
        put_code(Outstream,Code).