このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1307166756/953
#  ../test/read.cgi/tech/1307166756/928です 
#  小出しになってしまって申し訳ないのですがもう1つお願いします 
#   
#  [1] 授業単元:プログラミング 
#  [2] 問題文(含コード&リンク): 
#  長いのでろだにうpしました 
#  http://ime.nu/www.dotup.org/uploda/www.dotup.org1726929.txt 
#   
#  file03.txt 
#  http://ime.nu/www.dotup.org/uploda/www.dotup.org1726932.txt 
#  

'file1を読み込み、n1行目からn2(n2>=n1)行目までをコピーして、m行目とm+1行目の間に入れfile2に書き込む'(_n1,_n2,_m) :-
        'file1を読み込み'(LL1),
        'n1行目からn2(n2>=n1)行目までをコピーして'(LL1,_n1,_n2,LL2),
        'm行目とm+1行目の間に入れ'(LL1,_m,_LL2,LL3),
        'file2に書き込む'(LL3).

'file1を読み込み'(LL1) :-
        get_lines(file1,LL1),!.

'n1行目からn2(n2>=n1)行目までをコピーして'(LL,_n1,_n2,_コピー) :-
        length([_|LL0],_n1),
        append(LL0,_,LL),
        length(LL02,_n2),
        append(LL02,_,LL),
        append(LL0,_コピー,LL02),!.

'm行目とm+1行目の間に入れ'(LL,_m,_コピー,LL3) :-
        length(LL0,_m),
        append(LL0,LL1,LL),
        append(LL0,_コピー,LL2),
        append(LL2,LL1,LL3),!.

'file2に書き込む'(LL) :-
          open(file2,write,Outstream),
          append(_,[Line|R],LL),
          writef(Outstream,'%t\n',[Line]),
          R = [],
          close(Outstream).