このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1322562648/594
#  [1] 授業単元:プログラミング基礎 
#  [2] 問題文(含コード&リンク):0.123,1,12,150...と続く「1.txt」と6,13,25,10...と続く「2.txt」がある。 
#  1.txtの数値を2.txtの数値で割り、小数点第一位で切り捨てし、3.txtに結果を書き込むプログラムを作りなさい。 
#  

'0.123,1,12,150...と続く「1.txt」と6,13,25,10...と続く「2.txt」がある。1.txtの数値を2.txtの数値で割り、小数点第一位で切り捨てし、3.txtに結果を書き込む' :-
        '0.123,1,12,150...と続く「1.txt」と'(L1),
        '6,13,25,10...と続く「2.txt」がある'(L2),
        '1.txtの数値を2.txtの数値で割り、小数点第一位で切り捨てし、3.txtに結果を書き込む'(L2,L2).

'0.123,1,12,150...と続く「1.txt」と'(L1) :-
        get_split_lines('1.txt',LL1),
        flat(LL1,L1).

'6,13,25,10...と続く「2.txt」がある'(L2) :-
        get_split_lines('2.txt',LL2),
        flat(LL2,L2).

'1.txtの数値を2.txtの数値で割り、小数点第一位で切り捨てし、3.txtに結果を書き込む'(LL1_2,LL2_2) :-
        '1.txtの数値を2.txtの数値で割り、小数点第一位で切り捨てし'(LL1_2,LL2_2,L3),
        '3.txtに結果を書き込む'(L3),!.

'1.txtの数値を2.txtの数値で割り、小数点第一位で切り捨てし'([],[],[]).
'1.txtの数値を2.txtの数値で割り、小数点第一位で切り捨てし'([V1|R1],[0|R2],[∞|R3]) :-
        '1.txtの数値を2.txtの数値で割り、小数点第一位で切り捨てし'(R1,R2,R3).
'1.txtの数値を2.txtの数値で割り、小数点第一位で切り捨てし'([V1|R1],[0.0|R2],[∞|R3]) :-
        '1.txtの数値を2.txtの数値で割り、小数点第一位で切り捨てし'(R1,R2,R3).
'1.txtの数値を2.txtの数値で割り、小数点第一位で切り捨てし'([V1|R1],[V2|R2],[V3|R3]) :-
        V3 is floor((V1 / V2) * 10) / 10,
        '1.txtの数値を2.txtの数値で割り、小数点第一位で切り捨てし'(R1,R2,R3).

'3.txtに結果を書き込む'(L3) :-
        open('3.txt',write,Outstream),
        append(_,[Term|R],L3),
        書く(Outstream,Term,R),
        writef(Outstream,'%t,',[Term]),
        close(Outstream).

書く(Outstream,Term,[]) :-
        writef(Outstrem,'%t\n',[Term]),!.
書く(Outstream,Term,_) :-
        writef(Outstream,'%t,',[Term]).