コンピュータプログラミングの概念・技法・モデル
(IT Architect' Archive
クラシックモダン・コンピューティング6)
(IT Architects’Archive CLASSIC MODER)
(翔泳社)
セイフ・ハリディ (著), ピーター・ヴァン・ロイ (著)
Peter Van-Roy (著), Seif Haridi (著), 羽永 洋 (翻訳)
原書: Concepts, Techniques,
and Models of Computer Programming
開発環境
- OS X Yosemite - Apple (OS)
- Emacs (Text Editor)
- Oz (プログラミング言語)
- Mozartプログラミングシステム(Mozart 2) (実装)
コンピュータプログラミングの概念・技法・モデル(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 コメント:
コメントを投稿