2015年2月28日土曜日

開発環境

コンピュータプログラミングの概念・技法・モデル(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(練習問題)、2.(立方根)を解いてみる。

2.(立方根)

コード(Emacs)

declare CubicRoot
fun {CubicRoot X}
   fun {Improve Guess}
      (X / (Guess * Guess) + 2.0 * Guess) / 3.0
   end
   fun {GoodEnough Guess}
      {Abs (X - Guess * Guess * Guess)} < 0.00001
   end
   fun {Iter Guess}
      if {GoodEnough Guess} then Guess
      else
         {Iter {Improve Guess}}
      end
   end
   Guess=1.0
in
   {Iter Guess}
end

{Browse {CubicRoot 1.0}}
{Browse {CubicRoot 2.0}}
{Browse {CubicRoot 3.0}}
{Browse {CubicRoot 4.0}}
{Browse {CubicRoot 5.0}}
{Browse {CubicRoot 6.0}}
{Browse {CubicRoot 7.0}}
{Browse {CubicRoot 8.0}}
{Browse {CubicRoot 9.0}}
{Browse {CubicRoot 10.0}}

0 コメント:

コメントを投稿