問題3.35 – SICP(計算機プログラムの構造と解釈)その133
問題3.35 (define (squarer a b) (define (process-new-value) (if (has-value? b) (if (< (get-value b) 0) (error "square less than 0 — SQUARER" (get-value b)) (set-value! a (sqrt (get-value b)…続きを読む
問題3.35 (define (squarer a b) (define (process-new-value) (if (has-value? b) (if (< (get-value b) 0) (error "square less than 0 — SQUARER" (get-value b)) (set-value! a (sqrt (get-value b)…続きを読む
問題3.34 multiplier の process-new-value 手続きに、いずれの条件式にも一致しなかった場合にメッセージを印字するように修正する。 (define (multiplier m1 m2 product) (define (process-new-value) (cond ((or (and (has-value? m1) (= (get-value m1) 0)) (a…続きを読む
問題3.33 制約ネットワークで表した、a + b = 2 * c の図。 (define (averager a b c) (let ((u (make-connector)) (x (make-connector))) (adder a b u) (multiplier c x u) (constant 2 x) ‘ok)) (define A (make-connector)) (defin…続きを読む
問題3.32 agenda のデータ構造 (define the-agenda (make-agenda)) (define and-gate-delay 3) (define a (make-wire)) (define b (make-wire)) (define c (make-wire)) (probe ‘c c) (and-gate a b c) (set-signal! b 1) (p…続きを読む
問題3.31 (define the-agenda (make-agenda)) (define inverter-delay 2) (define and-gate-delay 3) (define or-gate-delay 5) (define input-1 (make-wire)) (define input-2 (make-wire)) (define sum (make-wire))…続きを読む
XOOPS_ROOT_PATH/modules/wordpress/themes/default/index-template.php ファイルの最初と最後の方にナビゲーションのリンクを追加する。 … <div id="wpMainContent"> <ul class="wp-entry-navigation"> <li …続きを読む
まず、altsys を適切なバージョンにアップグレードしておく。 続いて、以下の作業を行う。 html/modules/pico を XOOPS_ROOT_PATH/modules/ にコピーする。 html/class/smarty/plugins/ 以下のファイル群を XOOPS_ROOT_PATH/class/smarty/plugins/ にコピーする。 xoop_trust_path/m…続きを読む
問題3.30 繰上り伝播加算器 (define (ripple-carry-adder list-a list-b list-sum c-out) (define (iter list-a list-b list-sum c-in) (if (not (null? list-a)) (let ((c-out (make-wire))) (full-adder (car list-a) (car l…続きを読む
問題3.29 (define (or-gate a b output) (let ((c (make-wire)) (d (make-wire)) (e (make-wire))) (inverter a c) (inverter b d) (and-gete c d e) (inverter e output) ‘ok)) 遅延時間は、2*inverter-delay + and-gate-de…続きを読む
問題3.28 (define (or-gate o1 o2 output) (define (or-action-procedure) (let ((new-value (logical-or (get-signal o1) (get-signal o2)))) (after-delay or-gate-delay (lambda () (set-signal! output new-value)…続きを読む