このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1322562648/715
#  [1] 授業単元: 情報処理 
#  [2]  
#  問題(1) 
#  http://ime.nu/ideone.com/xfyDt 
#   
#  上のプログラムを参考にして、unsigned型整数をビット表記した時の下から4ビット(20 から23の桁) 
#  を表示する関数 void print_4bits ( unsigned x) を作成せよ。 
#  またこの関数を用いて、0から15までの整数を4ビットで表示するプログラムを作成せよ。 
#   
#  問題(2) 
#   float型実数 x と double型実数 yを用意し、初期値として x, y 共に1.0と置く。 
#  ループ( while文、 for文何でもよい) を用いて、x, yの値をそれぞれ前の値の 1/10にする毎に、その値を表示するプログラムを作成せよ。 
#  ループはyの値が 10 -14 より小さくなった場合に終了すること。 x , yを 表示する際、変換指定は %20.15fとすること。 C言語においては 10 -14 は 1e-14と表記する。 
#   
#  
%  Prologにfloatとdoubleの区別はない。

'浮動小数点の初期値に1.0と置いて、1/10ことを繰り返す。0.00000000000001より小さくなったら終了する' :-
        '浮動小数点の初期値に1.0と置いて、1/10ことを繰り返す。0.00000000000001より小さくなったら終了する'(1.0,X),
        format('~20f\n',[X]).

'浮動小数点の初期値に1.0と置いて、1/10ことを繰り返す。0.00000000000001より小さくなったら終了する'(X,X) :-
        X < 0.00000000000001,!.
'浮動小数点の初期値に1.0と置いて、1/10ことを繰り返す。0.00000000000001より小さくなったら終了する'(V,X) :-
        V_2 is V * 1 / 10,
        '浮動小数点の初期値に1.0と置いて、1/10ことを繰り返す。0.00000000000001より小さくなったら終了する'(V_2,X).