2010-05-06から1日間の記事一覧

計算機プログラムの構造と解釈 第二版 P163 問題3.28

ストレートにいけばいいすね。and-gateのパクリです。 andをorに変換しただけみたいな。 (define (or-gate a1 a2 output) (define (or-action-procedure) (let ((new-value (logical-or (get-signal a1) (get-signal a2)))) (after-deley or-gate-delay (lam…

計算機プログラムの構造と解釈 第二版 P163 問題3.29

アレだ、ド・モルガンの法則だ。 andとnotでどうやってorを表すか考えればいい。 (define (or-gate a1 a2 output) (let ((o1 (make-wire)) (o2 (make-wire)) (o3 (make-wire))) (inverter a1 o1) (inverter a2 o2) (and-gate o1 o2 o3) (inverter o3 output)…

計算機プログラムの構造と解釈 第二版 P163 問題3.30

全加算機を何個もつなげる感じの問題。 シンプルに考えればいいかなと思って以下。 (define (ripple-carry-adder A B S C) (if (null? S) 'ok (let ((c-out (make-wire))) (full-addr (car A) (car B) C (car S) c-out) (ripple-carry-adder (cdr A) (cdr B)…