このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1308749241/620
#  [1] :プログラミング 
#  [2]:下のプログラムの近似解の初期値をキーボードから入力し、 
#  初期値に応じて、収束条件を満足するまでに要する繰り返し計算回数が 
#  どのように変化するか調べなさい。 
#   
#  ♯include 〈stdio.h〉 
#  ♯include 〈stdlib.h〉 
#  ♯include 〈math.h〉 
#  ♯define pi 3.14159 
#   
#  double func1(double x) 
#  { 
#  double value; 
#  value=x×x×x+sin(pi×x) 
#  return value; 
#  } 
#  double func2(double x) 
#  { 
#  double value; 
#  value=3×x×x+pi×cos(pi×x); 
#  return value; 
#  } 
# 

'初期値をキーボードから入力し、初期値に応じて、収束条件を満足するまでに要する繰り返し計算回数がどのように変化するか調べる' :-
        '初期値をキーボードから入力し'(_初期値),
        fanc1(_初期値,Y1),
        Y is abs(Y1),
        収束させる(_初期値,Y,0,Count),
        writef('収束回数=%t\n',[Count]).

収束させる(X,Y,Count,Count) :- Y < 0.000001,!.
収束させる(X,_,Count1,Count) :-
        func1(X,Y1),
        func2(X,Y2),
        X2 is X - Y1 / Y2,
        Y3 is abs(Y1),
        Count2 is Count1 + 1,
        writef('回数=%t,X=%t,%t<-func1(X)\n',[Count2,X,Y1]),
        収束させる(X2,Y3,Count2,Count).

'初期値をキーボードから入力し'(_初期値) :-
        write('初期値を入力してください : '),
        readln([_初期値]).