| 이전 주제 보기 :: 다음 주제 보기 |
| 글쓴이 |
메시지 |
koreaskj
가입: 2009년 9월 15일 올린 글: 2
|
올려짐: 2009년9월15일 8:24 주제: 숙제1에 대한 질문입니다. |
|
|
제가 사용하고 있는(조교님께서 권장한) scheme 버전에서는
함수 fold가 정의되지 않았는데
이 것까지 구현에 포함되는 것인가요?
fold의 정확한 기능을 몰라서, 해당 문제 풀기가 어렵습니다.
이친수 문제 부분을 자세히 읽어봤는데 잘 이해가 되지 않습니다.
입출력 예제를 주시면 이해에 도움이 될 것같습니다
감사합니다~ |
|
| 위로 |
|
 |
조성근
가입: 2009년 9월 14일 올린 글: 283
|
올려짐: 2009년9월15일 11:24 주제: |
|
|
| 인용: | 함수 fold가 정의되지 않았는데
이 것까지 구현에 포함되는 것인가요? |
구현에 포함되지 않습니다. 다만 정의한 함수가 제대로 동작하는지 확인하기 위해서는 필요할 수도 있습니다.
fold의 예를 보여드리면 다음과 같습니다. 프린트에 나와있는 정의와 비교해 보세요.
(fold + 0 (list 1 2 3))
= (+ (+ (+ 0 1) 2 ) 3)
정의되어 있는대로 코드를 작성한다면 구현도 그다지 어렵지 않습니다. 도전해 보세요!
| 인용: | 이친수 문제 부분을 자세히 읽어봤는데 잘 이해가 되지 않습니다.
입출력 예제를 주시면 이해에 도움이 될 것같습니다 |
이친수 문제의 어느 부분이 이해가 안되는지 정확히 알려주세요.  |
|
| 위로 |
|
 |
신기정
가입: 2009년 9월 15일 올린 글: 83
|
올려짐: 2009년9월15일 12:08 주제: 이친수 입력에서 궁금한 부분입니다. |
|
|
질문1.
문제에서처럼
(cons 'z (cons 'p (cons 'n nil))) 라고입력을 줄경우 nil에서 오류가 납니다.
따라서
(cons 'z (cons 'p (cons 'n empty)))
혹은
(list z p n) 이런식으로 입력을 줘도 괜찮은가요?
질문2
그리고 이친수간의 합과 차에서
리턴값을 list로 리턴하면 되는건가요?
예를들어 덧셈 인자로 (list z p n) (list z p n) 로 전달하면
(z z n)으로 리턴되면 되나요?
질문3
(z z z) (z z) (z) 등이 모두 같은 값을 가지는데
한가지로 통일해서 리턴해야 하나요? |
|
| 위로 |
|
 |
신기정
가입: 2009년 9월 15일 올린 글: 83
|
올려짐: 2009년9월15일 12:28 주제: 아 그리고 |
|
|
그리고 테스트에 사용되는 fold의 기능을 정확히 몰라서
이를 사용한 구현이 어렵습니다.
fold를 직접 정의해서 사용해도 괜찮은가요? |
|
| 위로 |
|
 |
조성근
가입: 2009년 9월 14일 올린 글: 283
|
올려짐: 2009년9월15일 13:38 주제: |
|
|
| 인용: | (cons 'z (cons 'p (cons 'n nil))) 라고입력을 줄경우 nil에서 오류가 납니다.
따라서
(cons 'z (cons 'p (cons 'n empty)))
혹은
(list z p n) 이런식으로 입력을 줘도 괜찮은가요? |
예. 문제에 잘못된 부분이 있습니다. nil이 아닌 null을 사용하여야 합니다.
입력은 다음과 같은 모양으로 주어닙니다. (empty나 ()를 사용하여도 함수에 큰 차이는 없을 듯 합니다.)
| 코드: | | (cons 'z (cons 'p (cons 'n null))) |
| 인용: |
리턴값을 list로 리턴하면 되는건가요? |
예.
| 인용: | (z z z) (z z) (z) 등이 모두 같은 값을 가지는데
한가지로 통일해서 리턴해야 하나요? |
한 가지로 통일할 필요는 없습니다. (z z z)와 같은 출력이 나와도 괜찮습니다.
| 인용: | 그리고 테스트에 사용되는 fold의 기능을 정확히 몰라서
이를 사용한 구현이 어렵습니다.
fold를 직접 정의해서 사용해도 괜찮은가요? |
'테스트'라 함은 HW1의 EX4에서 정의한 함수들(flatten, foldsum)의 테스트를 말하는 것인가요? 만약 그렇다면, fold의 정의는 이미 문제에 되어 있으니 테스트를 위해서 fold가 정의된 그대로 구현은 하셔도 좋습니다. 단, 제출시에는 fold의 구현을 제거해 주세요.
fold에 대한 이해에 도움이 될까해서 링크를 걸어 놓습니다.
http://en.wikipedia.org/wiki/Fold_%28higher-order_function%29 |
|
| 위로 |
|
 |
윤용호
가입: 2008년 9월 23일 올린 글: 257
|
올려짐: 2009년9월15일 18:53 주제: |
|
|
fold의 구현을 꼭 제거해서 제출해야 하나요? 사실 fold를 함께 제출해도 큰 문제는 없어보입니다만.. 직접 작성하신 fold를 적용해서 채점하실 예정이기 때문인가요? |
|
| 위로 |
|
 |
|