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

乱数によって生成した20個の数字を配列に入れ、バブルソートによって小さい順に表示 :- 
        findall(M,(
                    between(1,20,N),
                    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). 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

writeln([]). 
writeln([A|R]) :- writef('%w\n',[A]),writeln(R).