このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1286978599/79
#  [1] 授業単元:C言語基礎実習  
#  [2] 問題文(含コード&リンク):入力された数値を逆順に表示せよ。 
#  なお、この動作は0未満の値が入力されるまで 繰り返すものとする。 
#   
#  

'入力された数値を逆順に表示せよ。なお、この動作は0未満の値が入力されるまで 繰り返すものとする。' :-
        数の入力(_数値),
        number_chars(_数値,_数値文字ならび),
        reverse(_数値文字ならび,_逆順にされた数値文字ならび),
        concat_atom(_逆順にされた数値文字ならび,_逆順にした数値表現),
        write_formatted('%t\n',[_逆順にした数値表現]),!.

数の入力(I) :-
        write('数を入力してください(終了するには0未満の数を入力) : '),
        get_line(Line),
        数の入力診断(Line,I),!.
数の入力(I) :- 数の入力(I).

数の入力診断(Line,I) :- atom_to_term(Line,I,_),number(I),!.
数の入力診断(Line,I) :-
        write_formatted('入力された %t から適切な数が得られませんでした\n再入力をお願いします\n',[Line]),fail.