이글루스 | 로그인  


SICP Exercise 연습문제 3.28

이 문제는 and-gate와 비슷하게 or-gate를 만드는 문제입니다.

문제에서도 and-gate와 비슷하게 만들면 된다고 하여 그렇게 만들었습니다.^^

 

 

and를 or로 바꾸기만 하였습니다.

그리고 logical-or 프로시저를 x가 0이고 y가 0일 때 0을 리턴하고

그 외의 경우에는 1을 리턴하도록 하였습니다.

OR 연산자는 실제 그렇게 동작합니다.^^

 

 

참조

해럴드 애빌슨, 김재우 역, <컴퓨터 프로그램의 구조와 해석>, 인사이트, 2007, pp. 359

 

 

(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)

(define (logical-or x y)
  (if (and (= x 0) (= y 0))
      0
      1))

by NoSyu | 2008/07/08 18:11 | in OCW | 트랙백 | 덧글(0)

트랙백 주소 : http://NoSyu.egloos.com/tb/4475050
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶