いろんな言語で宿題スレat TECH
いろんな言語で宿題スレ - 暇つぶし2ch229:デフォルトの名無しさん
09/06/18 16:46:28
>>227
% Prolog
'cos(x)とx軸で囲まれる領域において、xがa~bの区間の面積を台形積分で求める'(_開始
X座標,_終了X座標,X) :-
  分割数(_分割数),
  _開始X座標2 is _開始X座標,
  _終了X座標2 is _終了X座標,
  刻み幅(_分割数,_開始X座標2,_終了X座標2,_刻み幅),
  Y座標ならびを得る(_分割数,_分割数,_開始X座標2,_終了X座標2,_Y座標ならび),
  台形の総面積(_Y座標ならび,_刻み幅,X).

分割数(30).

台形の総面積([A,B],_刻み幅,X) :-
  X is (A+B) * _刻み幅 / 2,!.
台形の総面積([A,B|R],_刻み幅,X) :-
  Z is (A+B) * _刻み幅 / 2,
  台形の総面積([B|R],_刻み幅,Y),
  X is Z + Y.

Y座標ならびを得る(_分割数,_分割数,_開始X座標,_終了X座標,[A]) :-
  A is cos(_終了X座標),!.
Y座標ならびを得る(N,_分割数,_開始X座標,_終了X座標,[A|R]) :-
  A is cos(((_終了X座標-_開始X座標) * N / _分割数 + _開始X座標)),
  Y座標ならびを得る(M,_分割数,_開始X座標,_終了X座標,R).

刻み幅(_分割数,_開始X座標,_終了X座標,_刻み幅) :-
  _刻み幅 is (_終了X座標-_開始X座標) / _分割数.


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch