計算機プログラムの構造と解釈[4]

nanasi さんに紹介してもらった, GaUnit 入れた.
最初は, 使用法?だったけど, チュートリアルやってみて少し理解できた.
これは, かなり便利そうだ. 面白い.
テストケースを全て満たした = 完成って感じやね.
こういうの入れたりして, EmacsScheme の環境を整えていくと不満もでてくるね.
関数とか変数を補完入力したい, とか.
# いや, elisp のがそのまま使えないこともないんだけど, 何というか, ノイズが多い.
GaUnit は, 始めるまでの準備が面倒だから, それをどうにかしたいな, とか.
また, 気が向いたときにでも, 考えてみますか.
でも誰か作ってそうな気もするけどねえ.

1.2 手続きとその生成するプロセス

  • 問題 1.12

パスカルの三角形の問題.
問題の意味がどういうものか, 分からなかった.
うん列目が持つ要素をリストとして書き出せってこと?とか考えた.
何列の何番目の要素は, 何かを計算するものを作ればいいのね.
それだと, まあ, 簡単かなあ.

(define (ext1-12 x y)
  (cond ((or (< x y) (< x 0) (< y 0)) 0) ; error
        ((= y 0) 1)
        ((= x y) 1)
        (else (+ (ext1-12 (- x 1) (- y 1))
                 (ext1-12 (- x 1) y)))))

x が y より大きかったり, マイナスの値が与えられると欝陶しいことになるから,
0 を返すようにした.

  • 問題 1.13

問題が明らかに数学のそれでどうにもならンのですけど.
数学的帰納法をギリギリ覚えてるレベルじゃ解けないよ.
一応, 解こうとはしたけどね.
答え見てなんとか理解できるぐらい.
まいったな. こういうのもあるのか.
この先もあるだろうな. 一応頑張ってみるか. 答えみることになりそうやけど.
それにしても久々だった・・・. 大学2年以来, 数学触れてなかったからなあ.


  • 問題 1.14

うおっ, メンド.
とてつもなく面倒だった. どこかミスってる可能性大.
そして, それをわざわざ, graphviz 使って書くわたしゃ, 暇人だねえ.
はじめて graphviz 使ったわりに, まあまあ良い出来.

うーん. 画像が小さくて見辛いね.
修正. 大きいのアップできた.

  • 問題 1.15
  • a

0.1 以上である限りつづける.
12.15 に, (/ angle 3.0) を適用.
12.15 / 3.0 -> 4.15.
4.15 / 3.0 -> 1.383
1.383 / 3.0 -> 0.461
0.461 / 3.0 -> 0.15367
0.15367 / 3.0 -> 0.05123
よって, 5回かな.

  • b

駄目だ. 分かんね.
sin^3(a) だから, log3(a) ってことなのか?
数学忘れてる.



とりあえず, 更新更新.
あいかわらず遅い.
まあ, 毎度毎度, 始めるのが遅いんだけどね.


ついでに, Emacsスクリーンショットを撮ったのでアップ.
こんなの.
GaUnit のチュートリアルで遊んでる風景.


更新時刻

  • 1かいめ 2007年, 3月22日, 5:00
  • 2かいめ 2007年, 3月22日, 5:15