このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1312201995/684
#  [1] 授業単元:プログラミング 
#  [2] 問題文(含コード&リンク): 
#    1039,976,867,768,654,546,435,321,221,134の降順に並んだ10個の実数データがある。 
#    新たに入力された1つのデータを降順ルールを崩さずに挿入し、結果を表示しなさい。 
#  

'1039,976,867,768,654,546,435,321,221,134の降順に並んだ10個の実数データがある。新たに入力された1つのデータを降順ルールを崩さずに挿入し、結果を表示しなさい。' :-
        '新たに入力された1つのデータ'(_新たに入力された1つのデータ),
        '新たに入力された1つのデータを降順ルールを崩さずに挿入し'(_新たに入力された1つのデータ,[1039,976,867,768,654,546,435,321,221,134],_挿入されたデータ),
        表示する(_挿入されたデータ).

'新たに入力された1つのデータ'(_新たに入力された1つのデータ) :-
        write('一つ整数を入力してください : '),
        get_integer(_新たに入力された1つのデータ).

'新たに入力された1つのデータを降順ルールを崩さずに挿入し'(_新たに入力された1つのデータ,[],[_新たに入力された1つのデータ]) :- !.
'新たに入力された1つのデータを降順ルールを崩さずに挿入し'(_新たに入力された1つのデータ,[A|R1],[_新たに入力されたデータ,A|R2]) :-
        A =< _新たに入力されたデータ,!.
'新たに入力された1つのデータを降順ルールを崩さずに挿入し'(_新たに入力された1つのデータ,[A|R1],[A|R2]) :-
        A > _新たに入力されたデータ,
        '新たに入力された1つのデータを降順ルールを崩さずに挿入し'(_新たに入力された1つのデータ,R1,R2).

表示する(_挿入されたデータ) :-
        writef('%t\n',[_挿入されたデータ]).