このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1322562648/458
#  [1] 授業単元:配列とポインタ 
#  [2] 問題文(含コード&リンク):1,2,3,4,5,6...と続くテキストファイルを読み込み、
#      8×8の2次元配列で表し、別のテキストファイルに結果を書き込みなさい。ただし、読み込むファイルのデータの数が64個に満たない場合は、0を代入しなさい。 
#  

'1,2,3,4,5,6...と続くテキストファイルを読み込み、8×8の2次元配列で表し、別のテキストファイルに結果を書き込みなさい。ただし、読み込ファイルのデータの数が64個に満たない場合は、0を代入しなさい。'(_テキストファイル,_別のテキストファイル) :-
        '1,2,3,4,5,6...と続くテキストファイルを読み込み'(_テキストファイル,_文字列),
        '8×8の2次元配列で表し'(_文字列,LL),
        別のテキストファイルに結果を書き込む(_別のテキストファイル,LL).

'1,2,3,4,5,6...と続くテキストファイルを読み込み'(_テキストファイル,_文字列) :-
        get_lines(_テキストファイル,Lines),
        concat_atom(Lines,_文字列).

'8×8の2次元配列で表し'(_文字列,LL) :-
        split(_文字列,[','],_数字ならび),
        length(LL,8),
        '先頭から8要素ずつ切り取っていく。データの数が64個に満たない場合は、0を代入しなさい'(_数字ならび,LL).

'先頭から8要素ずつ切り取っていく。データの数が64個に満たない場合は、0を代入しなさい'(_,[]) :- !.
'先頭から8要素ずつ切り取っていく。データの数が64個に満たない場合は、0を代入しなさい'(L1,[L2|R2]) :-
        \+(L1 = [_,_,_,_,_,_,_,_|_]),
        length(L2,8),
        append(L0,L1,L2),
        all(L0,0),
        '先頭から8要素ずつ切り取っていく。データの数が64個に満たない場合は、0を代入しなさい'([],R2).
'先頭から8要素ずつ切り取っていく。データの数が64個に満たない場合は、0を代入しなさい'([A,B,C,D,E,F,G,H|R1],[[A,B,C,D,E,F,G,H]|R2]) :-
        '先頭から8要素ずつ切り取っていく。データの数が64個に満たない場合は、0を代入しなさい'(R1,R2).