このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1258158172/677
#  [1] 授業単元:プログラミング演習  
#  [2]
#  2.サンプルプログラムを参考乱数によって生成した20個の数字を配列に入れ、バブルソートによって大きいものから順に表示するプログラムを作成せよ。 

乱数によって生成した20個の数字を配列に入れ、バブルソートによって大きい順に表示 :- 
        findall(M,(
                    between(1,20,_),
                    M is random(1000),
                整数ならび), 
        バブルソートによって大きい順に(_整数ならび,_整列した整数ならび), 
        writeln(_整列した整数ならび). 

バブルソートによって大きい順に(L1,L2) :- 
        大きい順の整列が崩れるまで(L1,L3), 
        バブルソートによって大きい順に(L3,L2). 
バブルソートによって大きい順に(L,L). 

大きい順の整列が崩れるまで([A,B|R],[B,A|R]) :- 
        A @< B. 
大きい順の整列が崩れるまで([A,B|R1],[A|R2]) :- 
        A @>= B, 
        大きい順の整列が崩れるまで([B|R1],R2).