このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1335517816/868
#  [1] 授業単元:プログラミング 
#  [2] 問題文(含コード&リンク):http://ime.nu/www.fluid.cse.nagoya-u.ac.jp/~ishihara/c/Sec6kadai0.html 
#  
# 「x^2をaからbまで台形則を用いて数値積分する関数」を用いて作成せよ。
#  なお、台形則の分割数はnとし、a,b,nは入力できるようにすること。

f(X,Y) :-
        Y is X ^ 2.

台形則(_分割数,_a,_b,_積分値) :-
        _差分 is (  _b - _a ) / _分割数,
        台形則(_a,_b,_差分,0.0,_積分値).

台形則(_a_1,_b,_差分,_積分値,_積分値) :-
        _a_1 >= _b,!.
台形則(_a_1,_b,_差分,_積分値_1,_積分値) :-
        _a_2 is _a_1 + _差分,
        差分台形面積の計算(_差分,_a_1,_a_2,_差分台形面積),
        _積分値_2 is _差分台形面積 + _積分値_1,
        台形則(_a_2,_b,_差分,_積分値_2,_積分値).

差分台形面積の計算(_差分,_a_1,_a_2,_差分台形面積) :-
        f(_a_1,_X_1),
        f(_a_2,_X_2),
        _差分台形面積 is (_X_1 + _X_2) / 2.