| 이전 주제 보기 :: 다음 주제 보기 |
| 글쓴이 |
메시지 |
김성준
가입: 2009년 9월 10일 올린 글: 30
|
올려짐: 2009년10월19일 0:28 주제: hw4 - ex2 |
|
|
1. node 함수의 경우 | 코드: | | node : int x tree x tree -> tree | 인데요. 우리 k-의 함수는 오직 하나의 argument를 넘겨받을 수 있는데 이건 어떻게 구현하죠? 3개의 field를 가지는 record를 argument로 넘겨받는다고 가정하면되나요? 만약 record로 구현한다면 3개의 field의 이름은 무엇으로 정해야하나요?(채점을 위해서)
2. sumdown(t)는 어떻게 제공하면 되나요? 함수 구현만 하고 ()로 끝나는 k- 파일을 제출하면 되나요?
| 코드: | ex>
let null := ... in
let proc leaf(n) = ... in
...
let proc sumdown(t) = ... in
() |
|
|
| 위로 |
|
 |
허기홍
가입: 2007년 9월 27일 올린 글: 231
|
올려짐: 2009년10월19일 9:58 주제: |
|
|
1. 곱하기 표시로 묶여 있는 놈은 K-에서 레코드로 하시면 됩니다.
그리고 내부에서 필드 이름을 무엇으로 쓰시든간에
저는 트리 관련 함수(숙제에서 만들어야하는)를 이용해서 채점하므로
상관없습니다.
2. ()으로 끝나버리면 안됩니다.
t를 받아서 숙제에서 요구한 트리로 바꾼 다음 그 트리를 반환해야합니다.
K-에서는 값에 Record가 추가되었으니 가능합니다. |
|
| 위로 |
|
 |
김성준
가입: 2009년 9월 10일 올린 글: 30
|
올려짐: 2009년10월19일 11:02 주제: |
|
|
1.
| 코드: |
1 let proc leaf(n) = ... in
2 let proc node(t) = ... t.value ... t.left ... t.right ... in
3 let l1 := leaf(1) in
4 let l2 := leaf(2) in
5 let n3 := node({value := 3, left := l1, right := l2}) in
6 ... |
3
/ \
1 2
모양의 tree를 만드는 예제 코드입니다. null, leaf, node 함수만을 이용하고 있는데요. node() 내부에서 생각하는 넘겨받은 record(line 2)의 field들의 이름과 외부에서 node call을 할 때 넘겨주는 record(line 5)의 field들의 이름이 같아야하는데요. 이런 이름들(value, left, right)들은 자유롭게 정하면 되는건가요?
2. 제가 궁금한 건 sumdown.k-라는 파일에 문제에서 제시된 함수들(leaf, node, isEmptyTree? ..., sumdown)의 정의만 있으면 되는건가요? 사용자의 입력을 받아서 tree를 만들고 이를 sumdown에 넘겨서 그 결과를 출력하는 것까지 필요한가요? |
|
| 위로 |
|
 |
허기홍
가입: 2007년 9월 27일 올린 글: 231
|
올려짐: 2009년10월19일 13:51 주제: |
|
|
1.
그렇습니다. 성준씨 말이 맞습니다.
각 필드 이름은 value, left, right 로 하겠습니다. 고맙습니다.
2. 사용자 입력, 결과 출력은 필요없습니다. 문제에서 요구한 함수 정의만 포함해주세요. |
|
| 위로 |
|
 |
|