게시판 인덱스

 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

[실습 5] 물건 중심으로 구현할 때, step 함수를 짤 때 map 함수를 쓰니까 값이 변하네요..

 
글 쓰기   답변 달기     게시판 인덱스 -> 4190.210 Principles of Programming (Fall 2012)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
임성철



가입: 2012년 9월 8일
올린 글: 35

올리기올려짐: 2012년10월28일 0:11    주제: [실습 5] 물건 중심으로 구현할 때, step 함수를 짤 때 map 함수를 쓰니까 값이 변하네요.. 인용과 함께 답변

코드:


 (define w1 (make-wire "w1"))
(define w2 (make-wire "w2"))
(define w3 (make-wire "w3"))
(define and1 (and-gate w1 w2 w3))
(define not1 (not-gate w3 w1))
(define switch1 (switch w2))
(define circuit1 (add-gate-to-circuit "and1" and1 empty-circuit))
(define circuit2 (add-gate-to-circuit "not1" not1 circuit1))
(define circuit3 (add-gate-to-circuit "switch1" switch1 circuit2))

(define circuit-state
(set-wire-volts
(list (cons "w1" one) (cons "w2" one) (cons "w3" one))
circuit3))
(step circuit-state)




이런 경우

map 함수를 써서 물건 중심으로 구현하면

(("switch1" switch (wire "w2" 1)) ("not1" not (wire "w3" 1) (wire "w1" 1)) ("and1" and (wire "w1" 1) (wire "w2" 1) (wire "w3" 1)))

중 not1 게이트에서 w3이 1이므로 w1은 0이 됩니다.

그리고 다음, and1 게이트를 호출할 텐데,
이때 w1의 값이 0이 되어있네요..
그래서 원치 않게 w3은 0이 되어버립니다.

이를 방지하기 위해선 같은 circuit을 하나 더 복사하는 방법을 쓰면 될 것 같은데요,
(not에서 w1이 0이 될 때 and에서의 w1은 다른 circuit에서 읽어올 수 있도록)

물건 중심 구현에서 circuit을 복사하는 게 가능할까요?
위로
사용자 정보 보기 비밀 메시지 보내기
최민아



가입: 2009년 9월 28일
올린 글: 236

올리기올려짐: 2012년10월28일 2:55    주제: 인용과 함께 답변

다양한 구현 방법이 있을 수 있지만

회로 안에 wire를 2개씩 가지고 다니는 것도 한 방법입니다.
위로
사용자 정보 보기 비밀 메시지 보내기
임성철



가입: 2012년 9월 8일
올린 글: 35

올리기올려짐: 2012년10월28일 16:14    주제: 인용과 함께 답변

답변 감사합니다~
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4190.210 Principles of Programming (Fall 2012) 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
Translated by kss & drssay