게시판 인덱스

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

숙제#1 문제6에서

 
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.210 Principles of Programming (Spring 2006)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
최영진
손님





올리기올려짐: 2006년4월2일 18:51    주제: 숙제#1 문제6에서 인용과 함께 답변

1. not, and, or를 정의하라고 되어있습니다.

그런데, 이것들은 기본적으로 제공되는 것에 포함되고,

저같은 경우 not 같은 함수는 상당히 많이 썼기 때문에;

뭔가 다른 방법이 있지 않는 한은 프로그램 전체를 뜯어고치는 사태가 일어날지도;



2. 같은 circuit에 대해 is-not?, is-and?, is-or? 의 출력값이 같아도 관계없나요?
위로
박대준



가입: 2005년 10월 7일
올린 글: 245

올리기올려짐: 2006년4월2일 20:24    주제: 인용과 함께 답변

최영진 씀:
1. not, and, or를 정의하라고 되어있습니다.

그런데, 이것들은 기본적으로 제공되는 것에 포함되고,

저같은 경우 not 같은 함수는 상당히 많이 썼기 때문에;

뭔가 다른 방법이 있지 않는 한은 프로그램 전체를 뜯어고치는 사태가 일어날지도;


not, and, or 는 myNot, myAnd, myOr 로 바꿔서 정의하시기 바랍니다.
언급을 하려고 했는데, 깜박했습니다.
혼란스럽게 해드려 죄송합니다.

최영진 씀:

2. 같은 circuit에 대해 is-not?, is-and?, is-or? 의 출력값이 같아도 관계없나요?

질문의 의도를 잘 이해하지 못하겠는데요.
circuit 안에 not, and, or 가 중첩되어 섞여있을 때에는 가장 밖에 보이는 것을 기준으로 판단하시면 됩니다.
즉,

코드:
(is-not? (myNot (myAnd (myOr zero one) one)))

코드:
#t
입니다.
위로
사용자 정보 보기 비밀 메시지 보내기
김두남
손님





올리기올려짐: 2006년4월3일 2:04    주제: zero와 one은? 인용과 함께 답변

zero와 one은 함수가 아니라 변수로 정의하는 것인가요?
문제에서는 방법이라고 써있어서 함수인줄 알았는데요.
위로
박대준



가입: 2005년 10월 7일
올린 글: 245

올리기올려짐: 2006년4월3일 3:10    주제: 인용과 함께 답변

김두남 씀:
zero와 one은 함수가 아니라 변수로 정의하는 것인가요?


함수로 정의하셔도 되고, 변수로 정의하셔도 됩니다.
(여기서 "변수로 정의"라는 것의 의미는 "함수가 아닌 값"으로 정의한다는 것입니다.)
즉, 숙제에서 말하는 제약조건만 지키신다면, 구현방법은 자유입니다.


노파심에서 말씀드리는 것이지만, 함수로 정의하셨다 하더라도 다음과 같이 사용하는 것은 잘못된 구현입니다.

코드:
(myNot (one))


타입이 맞지 않기 때문입니다.
위로
사용자 정보 보기 비밀 메시지 보내기
백석준
손님





올리기올려짐: 2006년4월3일 6:48    주제: sub-circuit.. 인용과 함께 답변

sub-circuit 함수에 대해서 질문드리는데요,

6번을 아무리 읽어봐도 결국 서킷은 이진 트리를 벗어나지 못하는 것 같은데요..

(각 서킷을 묶고 있는 게이트들의 입력이 2개니깐요)

그렇다면 6번에서의 서브트리는 결국 두개밖에 없는 것 아닙니까?;

n-th sub-circuit에서의 n의 범위는 1~2인가요? ;
위로
조윤석
손님





올리기올려짐: 2006년4월3일 11:00    주제: 타입이 맞지 않다는게 무슨 뜻인가요; 인용과 함께 답변

(myNot (one)) 이 왜 안되는거죠?

전 (one) 을 함수로 정의했는데;

저렇게 해서 되던데; 왜 안되는지 ;ㅁ;
위로
박대준



가입: 2005년 10월 7일
올린 글: 245

올리기올려짐: 2006년4월3일 13:01    주제: 인용과 함께 답변

백석준 씀:
그렇다면 6번에서의 서브트리는 결국 두개밖에 없는 것 아닙니까?;

네, 최대한 2개이겠지요.

백석준 씀:
n-th sub-circuit에서의 n의 범위는 1~2인가요?

구현에 따라서 0~1 일수도 있고, 1~2 일수도 있을 것입니다.





조윤석 씀:

전 (one) 을 함수로 정의했는데;

one 을 함수로 정의했다는 말이시겠지요? Smile

조윤석 씀:
(myNot (one)) 이 왜 안되는거죠?

숙제에 나와있는 one 과 myNot 의 타입을 보면 다음과 같습니다.
코드:
one : circuit
myNot : circuit->circuit


즉, one 의 구현방법에 전혀 무관하게, one 의 타입은 circuit 입니다.
myNot 은 circuit 을 인자로 받는 함수이므로,
one 자체가 들어가야 합니다.

코드:
(one)
위와 같은 표현방법을 사용하시는 것으로 봐서, 다음과 같은 타입으로 구현하신것으로 보입니다.
코드:
one : circuit = unit -> a

(a 는 구현에 따른 특정한 타입입니다.)

그럴 경우, (one)a 란 타입을 가지게 되고,
a 는 circuit 이 아니기 때문에, myNot 의 인자로 들어올 수 없는 것입니다.

즉, one 을 함수로 구현하셨다는 이야기는 circuit 을 함수로 정의했다는 것이고,
이 말은 circuit 이 unit 을 받아서 어떤 물건을 내놓는 함수라는 말이므로,
myNot 도 그러한 함수(circuit)를 받아서 함수(circuit)를 반환하는 함수(circuit->circuit)가 되어야 합니다.


실력이 매우 뛰어나신 분이 많기 때문에, one 을 함수로 구현하셔도 무방하지만,
이 때, 문제의 난이도는 one 을 함수가 아닌 값으로 정의하셨을 때와 비교해서 꽤 어려워짐을 명심하시기 바랍니다.


조윤석 씀:
저렇게 해서 되던데; 왜 안되는지 ;ㅁ;

(myNot (one)) 은 one 을 함수로 구현한 것이 아니고, 타입에 맞지 않는 전혀 잘못된 구현을 하신 것입니다.
위로
사용자 정보 보기 비밀 메시지 보내기
조윤석
손님





올리기올려짐: 2006년4월3일 16:06    주제: 아 드뎌 이해가 ;ㅁ; 인용과 함께 답변

조교님 감샤 >_<
위로
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.210 Principles of Programming (Spring 2006) 시간대: GMT + 9 시간(한국)
페이지 11

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


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