2015年3月1日日曜日

開発環境

コンピュータプログラミングの概念・技法・モデル(IT Architect' Archiveクラシックモダン・コンピューティング6) (IT Architects’Archive CLASSIC MODER)(セイフ・ハリディ (著)、ピーター・ヴァン・ロイ (著)、Peter Van-Roy (著)、 Seif Haridi (著)、羽永 洋 (翻訳) 、翔泳社、原書: Concepts, Techniques, and Models of Computer Programming(CTM))の第部(一般的計算モデル)、第3章(宣言的プログラミング技法)、3.10(練習問題)、3.(二分法)を解いてみる。

3.(二分法)

コード(Emacs)

declare FindZero F G
fun {FindZero F A B}
   fun {GoodEnough X}
      {Abs {F X}} < 0.00001
   end
   fun {Average X Y}
      (X + Y) / 2.0
   end
   fun {Iter X A B}
      if {GoodEnough X} then X
      elseif {F X} > 0.0 then         
         {Iter {Average A X} A X}
      elseif {F X} < 0.0 then
         {Iter {Average X B} X B}
      end      
   end
in
   {Iter {Average A B} A B}
end

fun {F X} X end
fun {G X} X * X - 5.0 end

{Browse {FindZero F ~5.0 10.0}}
{Browse {FindZero G 2.0 3.0}}

0 コメント:

コメントを投稿