以下の内容はhttps://kiririmode.hatenablog.jp/entry/20080504/p2より取得しました。


問題3-28 (3.3.4 A Simulator for Digital Circuits)

電気回路のシミュレーションをする前段階として,基本ゲートを実装していきます.
and-gate は以下のような感じで提供されていますから,

;; and-gate
(define (and-gate a1 a2 output)
  (define (and-action-procedure)
    (let ((new-value
	   (logical-and (get-signal a1) (get-signal a2))))
      (after-delay and-gate-delay
		   (lambda ()
		     (set-signal! output new-value)))))
  (add-action! a1 and-action-procedure)
  (add-action! a2 and-action-procedure)
  'ok)

or-gate はそのパクリでだいじょうぶそうですね!

;; or-gate
(define (or-gate a1 a2 output)
  (define (or-action-procedure)
    (let ((new-value
	   (logical-or (get-signal a1) (get-signal a2))))
      (after-delay or-gate-delay
		   (lambda ()
		     (set-signal! output new-value)))))
  (add-action a1 or-action-procedure)
  (add-action a2 or-action-procedure)
  'ok)



以上の内容はhttps://kiririmode.hatenablog.jp/entry/20080504/p2より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14