게시판 인덱스

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

숙제 2 보충설명

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



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

올리기올려짐: 2012년9월20일 14:24    주제: 숙제 2 보충설명 인용과 함께 답변

많은 학생이 어려움을 겪고 있는 것 같아 보충설명을 추가합니다.

1번 문제에서, tree라는 타입은 특별한 것이 아닙니다. 그냥 사용자가 구현하는대로 만들어지는 것입니다. 예를 들면 leaf나 node를 리스트로 구현할 수 있겠지요. 구현방식은 자유입니다.
is-leaf?와 leaf-val, nth-child은 각자 트리를 구현한 방식에 따라 다르게 정의될 것입니다. is-leaf?는 입력이 자신이 구현한 leaf의 모양인지를 확인하면 되고, leaf-val에서는 자신이 구현한 leaf에서 값을 빼내도록 구현하면 됩니다. nth-child도 각자 구현한 노드에서 n번째 자식 트리를 꺼내도록 구현하면 됩니다. 조교가 채점할 때에는 nth-child 등의 출력을 곧바로 검사하지 않고 거기에 is-leaf나 leaf-val을 사용할 것입니다. 왜냐하면 nth-child의 결과는 학생들이 트리를 정의한 방식에 따라 다를 것이기 때문입니다.

2, 3번 문제에서 mobil이나 circuit을 만들 때에는 1번에서 정의한 leaf와 node들을 가지고 나름대로의 방식대로 정의합니다. 즉 mobil을 tree로 정의합니다. 이 때 무게와 길이를 tree 안에 담는 방식은 각자 마음대로입니다. 모빌을 사용하는 함수 is-balanced?와 weight 역시 각자 구현한 모빌에 대해 작성합니다.
3번 문제의 함수들 역시, tree를 이용하여 circuit을 정의하고 0이나 1, and, or, not 등의 정보를 tree 안에 나름대로 집어넣으면 됩니다.

2, 3번 문제에서 tree에 관한 함수들(leaf, node, is-leaf, leaf-val 등)은 조교가 만든 것을 사용합니다. 이 말은, 2, 3번 문제에서 tree의 속구현에 직접 접근하면 안되고, 반드시 tree를 사용하는 함수들인 is-leaf, leaf-val, nth-child 등으로 접근해야 한다는 것입니다. 그렇지 않고 tree를 자신이 리스트로 구현했다고 해서 바로 car나 cdr를 적용한다거나 한다면, 조교와 학생의 tree 구현이 다르기 때문에 2, 3번 문제가 제대로 작동하지 않겠지요.
이것이 숙제 문서에서 '반드시 Exercise1에 나오는 함수를 사용한다'라고 한 것의 의미입니다.

더 궁금한 것이 있으면 언제든지 주저하지 말고 게시판에 질문해 주세요.
조교는 여러분이 배우는 것을 도와주는 사람입니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 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