このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1296387672/656
#  [1] 授業単元: C言語プログラミング 
#  [2] 問題文 
#    任意の正の整数同士の割り算を30ケタまで正確に出力するプログラムを作成せよ。 
#    例 1/3=0.3333333333333・・・・・333 
#  

'30桁までの割り算表示'(_被除数,_除数) :-
        _被除数 >= _除数,
        D is _被除数 // _除数,
        M is _被除数 mod _除数,
        write_formatted('%t.',[D]),
        '30桁までの割り算表示'(0,M,_除数),!.
'30桁までの割り算表示'(_被除数,_除数) :-
        _被除数 < _除数,
        write('0.'),
        '30桁までの割り算表示'(0,_被除数,_除数).

'30桁までの割り算表示'(_,0,_除数) :- !.
'30桁までの割り算表示'(30,_被除数,_除数) :-
        D is truncate((_被除数 + 0.5) / _除数),
        write_formatted('%t',[D]),!.
'30桁までの割り算表示'(N,_被除数,_除数) :-
        _被除数 < _除数,
        _被除数10 is _被除数 * 10,
        write('0'),
        N2 is N + 1,
        '30桁までの割り算表示'(N2,_被除数10,_除数),!.
'30桁までの割り算表示'(N,_被除数,_除数) :-
        _被除数 >= _除数,
        D is _被除数 // _除数,
        _被除数_2 is _被除数 mod _除数,
        write_formatted('%t',[D]),
        N2 is N + 1,
        '30桁までの割り算表示'(N2,_被除数_2,_除数),!.