게시판 인덱스

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

숙제2에 대한 질문입니다.

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



가입: 2009년 9월 27일
올린 글: 13

올리기올려짐: 2009년9월27일 21:02    주제: 숙제2에 대한 질문입니다. 인용과 함께 답변

1. 문제에는 함수별로 argument들의 type이 명시되어 있습니다. 이것을 실제로 제한해야 하는 건가요? 아니면, 함수의 내부 구현이 제시된 스펙에 맞도록 완성하기만 하면 되는 건가요?

예를 들어 사용자가 실수로 잘못된 type의 argument를 넘겨 줄 때, 모든 가능한 오입력에 대해 에러 메시지를 출력해야 하나요? 만약 그렇다면, C의 typedef처럼 primitive들을 조합하여 만든 tuple (ex: nat X nat)이나 function (nat -> nat) 등에 임의의 type 이름을 부여할 수 있는 방법이 없을까요? 그런 게 가능하다면 에러 처리가 편리할 것 같아서요···.

2. 1번 문제의 nth-child나 3번 문제의 sub-circuit 등의 n은 0-based인가요, 1-based 인가요? 범위를 표기하기 위해 '자연수'와 'n>=0' 이라는 서로 모순되는 표현이 함께 쓰였는데 (자연수는 0을 포함하지 않으므로), 어느 쪽이 맞는 건지 알고 싶습니다.
위로
사용자 정보 보기 비밀 메시지 보내기
윤용호



가입: 2008년 9월 23일
올린 글: 257

올리기올려짐: 2009년9월28일 8:44    주제: re 인용과 함께 답변

1. 지금까지 올라온 답변들을 보면 분위기상 '처리할 수 있는 에러는 모두 처리한다'가 좋은 방침일 것 같네요.
scheme이 '타입'이라는 개념을 run-time에만 적용시키기 때문에 우리가 타입에 대해 미리 빡빡한 처리를 해주기가 쉽지 않습니다. 예를 들어 int가 와야할 자리에 char가 오면.. 제가 아는 한은 미리 잡아낼 수가 없네요. (사실 '미리 잡아낸다'고 해도 결국 run-time에 잡는 거죠)
하지만 우리가 직접 구현하는 자료구조에서는, 예를 들어 leaf가 올자리에 node가 온다든지 mobile이 와야할 곳에 branch가 오는 정도는 미리 잡아낼 수 있을 것 같습니다. 그정도 처리는 해주는게 좋지 않을까요.

2. 0-based입니다.
교수님의 수업에서 '자연수'라는 표현에 '자연수면 1부터지 0이 왜 들어가' 라고 생각하면 머리가 복잡해지기 시작합니다. 보통은 범위로 '0이상'을 사용하시네요. 그러려니 하고 넘어가세요(..) 아마 강의자료에도 nat에 대해
nat = 0 | successor of n 이런 식의 표현이 있었던것 같고...
위로
사용자 정보 보기 비밀 메시지 보내기
노건일



가입: 2009년 9월 26일
올린 글: 50

올리기올려짐: 2009년9월28일 9:13    주제: 인용과 함께 답변

그렇다면

nth-child 에서 0을 입력받는다면
자기자신을 내보내도록 하면 되나요?

아니면 0부터 세서 0 = 첫번째 자식, 1= 두번째 자식..
이런식으로 만들어야 하나요?
위로
사용자 정보 보기 비밀 메시지 보내기
윤용호



가입: 2008년 9월 23일
올린 글: 257

올리기올려짐: 2009년9월28일 11:56    주제: re2 인용과 함께 답변

자기 자신은 child가 아닙니다.
0-based라는건 말그대로 맨 처음 child가 0번째라는 뜻이죠.
위로
사용자 정보 보기 비밀 메시지 보내기
장수원



가입: 2008년 9월 26일
올린 글: 167

올리기올려짐: 2009년9월28일 12:03    주제: 인용과 함께 답변

노건일 씀:
그렇다면

nth-child 에서 0을 입력받는다면
자기자신을 내보내도록 하면 되나요?

아니면 0부터 세서 0 = 첫번째 자식, 1= 두번째 자식..
이런식으로 만들어야 하나요?


첫번째 자식입니다.
위로
사용자 정보 보기 비밀 메시지 보내기
장수원



가입: 2008년 9월 26일
올린 글: 167

올리기올려짐: 2009년9월28일 13:38    주제: Re: re 인용과 함께 답변

잘못된 부분이 있고 애매한 부분이 있어 수정했습니다 (09:28 1836)
---
항상 적극적으로 참여해 주셔서 감사합니다 Very Happy 다만 오해의 소지도 있는듯 해서 약간만
첨언하겠습니다.
윤용호 씀:
1. 지금까지 올라온 답변들을 보면 분위기상 '처리할 수 있는 에러는 모두 처리한다'가 좋은 방침일 것 같네요.
하지만 우리가 직접 구현하는 자료구조에서는, 예를 들어 leaf가 올자리에 node가 온다든지 mobile이 와야할 곳에 branch가 오는 정도는 미리 잡아낼 수 있을 것 같습니다. 그정도 처리는 해주는게 좋지 않을까요.

저희 의도와 정확하게 일치하는 듯 합니다. 항상 사용자는 내부 자료구조에 대한 가정을 하지 않는다는 점을 명심해주세요 예컨데
코드:

(is-leaf? (node '()))

(is-leaf? (node '())

는 false 이고, 명백히 에러를 발생시켜야 하지만,

코드:

(leaf-val (node (list (leaf 3) (leaf 4))))

에러가 발생해야 하며,

코드:

(is-leaf? 3)

는 에러인지 알 수 없습니다.

인용:

scheme이 '타입'이라는 개념을 run-time에만 적용시키기 때문에 우리가 타입에 대해 미리 빡빡한 처리를 해주기가 쉽지 않습니다. 예를 들어 int가 와야할 자리에 char가 오면.. 제가 아는 한은 미리 잡아낼 수가 없네요. (사실 '미리 잡아낸다'고 해도 결국 run-time에 잡는 거죠)

이부분은 제가 의도를 알기 힘들어서 확실히 해야하는 부분만 말씀드릴께요. scheme에서 integer와 char는 run-time에는 구분가능합니다. 각각
코드:
 (integer?) (char?)
로 하시면 됩니다.

윤용호 씀:

2. 0-based입니다.
교수님의 수업에서 '자연수'라는 표현에 '자연수면 1부터지 0이 왜 들어가' 라고 생각하면 머리가 복잡해지기 시작합니다. 보통은 범위로 '0이상'을 사용하시네요. 그러려니 하고 넘어가세요(..) 아마 강의자료에도 nat에 대해
nat = 0 | successor of n 이런 식의 표현이 있었던것 같고...

자연수는 "양의 정수" 혹은 "음이 아닌 정수"를 의미합니다. 다음을 참고해주세요.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.210 Principles of Programming (Fall 2009) 시간대: GMT + 9 시간(한국)
페이지 11

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


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