2010-07-01から1ヶ月間の記事一覧
なんかものすごく時間がかかってしまった。。 気が乗らなかったなぁこの問題。だって面倒くさそうだったんだもん。。 問題 微分プログラムを拡張し、(2かそれを超える)任意個の項の和と積が扱えるようにせよ。上の最後の例は (deriv '(* x y (+ x 3)) 'x)…
問題 更に多くの形の式が扱えるように微分プログラムを拡張する方法を示せ。deriv に新しい節を追加し、例えば d(u^n) du ─── = n・u^(n-1)・(──) dx dxの微分規則を、適切な手続 exponentiation?, base, exponent, 及び make-exponentiation を定義して実装…
前エントリで羅列した、微分を行う為の各種手続きを定義していく。 (define (variable? x) (symbol? x)) (define (same-variable? v1 v2) (and (variable? v1) (variable? v2) (eq? v1 v2))) (define (sum? x) (and (pair? x) (eq? (car x) '+))) (define (a…
数式を受け取り、その微分形式を求めるというお題を使っているセクション。 改めて、和や積を使って表現される数式に対する微分規則はこんな感じ。 dc ─ = 0 (cは定数か、xと異なる変数) dxdx ─ = 1 dxd(u + v) du dv ──── = ─ + ─ dx dx dxd(uv) dv du ─── …
問題 Eva Lu Ator は解釈系に対して式 (car ''abracadabra) と入力した。驚いたことに解釈系は quote 印字してきた。なぜか。 解答 ''abracadabra が評価されると、(quote abracadabra) つーリストになる。その car を抽出してるから quote が返るって解釈で…
問題 二つのリストは、同じ順に並んだ同じ要素を含むとき、equal? であるという。例えば、 (equal? '(this is a list) '(this is a list)) は真である。しかし、 (equal? '(this is a list) '(this (is a) list)) は偽である。より正確には、基本となる eq? …
問題 次の各式を評価した結果、解釈系は何を印字するか。 (list 'a 'b 'c)(list (list 'george))(cdr '((x1 x2) (y1 y2)))(cadr '((x1 x2) (y1 y2)))(pair? (car '(a short list)))(memq 'red '((red shoes) (blue socks)))(memq 'red '(red shoes blue sock…
問題 図2.9に示した wave の square-limit を、上に示した各レベルで作業して変更せよ。特に、 a. 問題 2.49 の基本的 wave ペインタに(例えば笑っているような)線分を加えよ。 b. corner-split で構成されるパターンを(例えば2つでなく、up-split と ri…
ご無沙汰しちゃった。。仕事でヘマしてダウナーになっちまったのと、そのあと元気になったけど、休みの日にモデルハウスにひやかしにいったら家を建てたくなっちゃって間取りとか考えすぎちゃって、SICPから離れてしまった。。 一ヶ月ぶりに復帰だ! 問題 ペ…