このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1291471791/374
#  [1] 授業単元:プログラミング 
#  [2] 問題文(含コード&リンク):pgmの画像を上下左右反転させる関数void hanten_pgmを作りなさい。 
#  

左右画像データの反転(_単位,_幅,_画像データ,_左右反転した画像データ) :-
        画像データを反転した行ならびに変換(_単位,_幅,_画像データ,_左右反転した画像データならび),
        flat(_左右反転した画像データならび,_左右反転した画像データ).

画像データを左右反転した行ならびに変換(_,_,[],[]) :- !.
画像データを左右反転した行ならびに変換(_単位,_幅,L,[RL0|R2]) :-
        length(L0,_幅),
        append(L0,R2,L),
        単位_reverse(_単位,L0,RL0),
        画像データを左右反転した行ならびに変換(_単位,_幅,R1,R2).

単位_reverse(_単位,L1,L2) :-
        単位_reverse(_単位,L1,[],L2).

単位_reverse(_単位,[],L,L) :- !.
単位_reverse(_単位,L1,L2,L) :- !.
        length(L0,_単位),
        append(L0,L3,L1),
        単位_reverse(_単位,L3,[L0|L2],L).