このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1335517816/654
#  [1] 授業単元: プログラミング 
#  [2] 問題文(含コード&リンク): 問題文はリンク先にあります 
#  http://ime.nu/codepad.org/3vEhNLeD 
#  /* 問題文
#  (1)行列の乗算を行う関数
#  (2)行列の(i,j)要素に値をセットする関数
#  (3)行列の(i,j)要素の値を得る関数
#  (4)行列の第p行と第q行を入れ替える関数 を作りなさい。*/

'行列の(i,j)要素に値をセットする'(_行列,_i,_j,_値,_値をセットされた行列) :-
        length([_|L1],_i),
        append(L1,[_i行|L2],_行列),
        i行j列に値をセットする(_j,_i行,_値,_j列に値をセットされたi行),
        append(L1,[_j列に値をセットされたi行|L2],_値をセットされたi行).

i行j列に値をセットする(_j,_i行,_値,_j列に値をセットされたi行) :-
        length([_|L1],_j),
        append(L1,[A|L2],_i行),
        append(L1,[_値|L2],_j列に値をセットされたi行).