問題3.14 – SICP(計算機プログラムの構造と解釈)その114

問題3.14 最初の v の箱とポインタ図。 loop を実行していく時の箱とポインタ図の変化。 mystery 実行後の v と w の箱とポインタ図。 (define (mystery x) (define (loo [...]…続きを読む

問題3.12、問題3.13 – SICP(計算機プログラムの構造と解釈)その113

問題3.12 append を使って連結した場合。 append! を使って連結した場合。 問題3.13 (define (make-cycle x) (set-cdr! (last-pair x) x) x) (def [...]…続きを読む

問題3.11 – SICP(計算機プログラムの構造と解釈)その112

問題3.11 (define acc (make-account 50)) の評価結果の環境構造。 ((acc ‘deposit) 40) の評価結果の環境構造。 ((acc ‘withdraw) 60) の評価結果の環 [...]…続きを読む

問題3.9、問題3.10 – SICP(計算機プログラムの構造と解釈)その111

問題3.9 1.2.1節の階乗を計算する手続きの再帰版・反復版の環境構造。 問題3.10 (define W1 (make-withdraw 100)) の評価結果の環境構造。 手続きオブジェクト W1 を作用させて作り [...]…続きを読む

問題3.8 – SICP(計算機プログラムの構造と解釈)その110

問題3.8 引数が 0 の場合に内部変数 x を 0 にする手続き。 (define f (let ((x 1)) (lambda (n) (if (= n 0) (begin (set! x 0) x) x)))) ; [...]…続きを読む

問題3.7 – SICP(計算機プログラムの構造と解釈)その109

問題3.7 最初に考えた解答 パスワードをリストにして、複数のパスワードが利用出来るようにする。 パスワード追加手続き add-password を定義する。 パスワードのリストから一致するパスワードを探す correc [...]…続きを読む

問題3.6 – SICP(計算機プログラムの構造と解釈)その108

問題3.6 (use srfi-27) ;; for random-integer (define (rand-update x) (remainder (+ x 1812433253) 4294967296)) (de [...]…続きを読む

問題3.5 – SICP(計算機プログラムの構造と解釈)その107

問題3.5 (use srfi-27) ;; for random-integer (define (random-in-range low high) (let ((range (- high low))) (+ lo [...]…続きを読む

問題3.3、問題3.4 – SICP(計算機プログラムの構造と解釈)その106

問題3.3 (define (make-account balance password) (define (withdraw amount) (if (>= balance amount) (begin (set [...]…続きを読む

問題3.1、問題3.2 – SICP(計算機プログラムの構造と解釈)その105

問題3.1 (define (make-accumulator sum) (lambda (n) (begin (set! sum (+ sum n)) sum))) (define A (make-accumulato [...]…続きを読む
Page 1 of 41234
↑ページの先頭へ