윤용호
가입: 2008년 9월 23일 올린 글: 257
|
올려짐: 2009년11월13일 12:26 주제: 지난학기 게시판에서 보물섬 관련 질문과 답변들을 모아보았습니다. |
|
|
val이라고 써있는 것은 nML 문법입니다. let으로 바꿔주시면 됩니다.
덧붙여, 저희는 마지막 질문에 있는
"안내판이 나오고 실제론 그 보물상자가 없는 경우"의 처리에 대해
아직 교수님과 상의한 바 없습니다만
아무래도 과제 마감일 전에 교수님과 그에 대해
이야기 해볼 시간이 없을 것 같습니다. - 주1회 수업이다보니...
어떻게 처리하면 좋을까요?
| 인용: |
| 수강생 씀: | 3가지 질문이 있습니다.
1. map M이 성공적으로 탐험하는 것이 불가능 할 경우,
getReady(M) 은 빈 리스트([]) 를 리턴해줘야 하나요?
아니면 exception 처리를 해야하나요?
2. getReady()의 리턴타입이 key list인데
두 개의 보물상자를 여는 열쇠 같은 경우에
집합처럼 생각해서 중복된 열쇠의 경우는 아무거나 하나만 넣어주면 되나요?
아니면 따로 따로 넣어줘야 하나요?;
즉, X = Bar, Y= Bar였다면
[Bar], [Bar,Bar] 중에서 어떤것을 택해야 하나요?
3. 몇 가지 타입을 만들어서 숙제를 했는데, type같은 경우는 let안에서 선언이
불가능한데 맨 밖에서 선언해도 괜찮나요?; |
| 수강생 씀: | 2번 같은 경우에는 "최소의 리스트"를 구해야 하니까 [Bar] 만 리턴 해야 할것 같네요
예제를 봐도 두개가 Bar Bar 인 경우에 Bar만 나오고 있고..
3번은 저는 아예 Structure까지 만들면서 했는데 타입정도는 상관없지 않을까요[......]안되면 ㅠㅠ |
| TA 씀: | 1.
예외로 처리해주세요.
3.
크게 상관 없습니다.
최상위에 하나만 남기라고 한 것은, 채점의 편의를 위함입니다. |
|
| 인용: | | TA 씀: |
보물섬 과제의 테스트 입력 몇가지입니다.
코드:
val m1 =
Branch(Guide("x",End(NameBox("x"))),End(StarBox)) //{-}
val m2 =
Guide("x",End(NameBox("x"))) //{-}
val m3 =
End(NameBox("x")) //{-}
val m4 =
Branch(Guide("x",Branch(End(NameBox("x")),End(NameBox("x")))),End(StarBox)) // FAIL!
val m5=
Branch(Guide("x",End(NameBox("x"))),Branch(Guide("y",End(NameBox("y"))),End(StarBox))) //{-}
val m6 =
Branch(Guide("x",End(NameBox("x"))),Guide("y",End(NameBox("y")))) //{-,(-,-)}
val m7 =
Branch(End(NameBox("x")),End(StarBox)) //{-,(-,-)}
val m8 =
Guide("a",Branch(Guide("b",Branch(End(NameBox("c")),End(StarBox))),Branch(Guide("d",Branch(End(NameBox("e")),End(NameBox("f")))),Branch(End(NameBox("e" )),End(NameBox("c")))))) // {-,(-,-),((-,-),-)}
val m9 =
Guide("a",Branch(Guide("b",Branch(End(NameBox("c")),End(StarBox))),Branch(Guide("d",Branch(End(NameBox("e")),End(NameBox("c")))),Branch(End(NameBox("e" )),End(NameBox("f")))))) // {-,(-,-),((-,-),-)}
val m10 =
Branch(Branch(Branch(Branch(Branch(End(NameBox("a")),End(NameBox("b"))),End(NameBox("c"))),End(NameBox("d"))),End(NameBox("d"))),End(NameBox("e"))) // {-, (-,(-,(-,(-,(-,-)))))}
최원태 가 2008년10월22일 20:59에 수정함, 총 1 번 수정됨
|
| 수강생 씀: |
조교님께서 위의 댓글에 숙제 4-3 테스트 케이스을 올려주셨는데요.
| 인용: | 코드:
val m8 =
Guide("a",Branch(Guide("b",Branch(End(NameBox("c")),End(StarBox))),Branch(Guide("d",Branch(End(NameBox("e")),End(NameBox("f")))),Branch(End(NameBox("e" )),End(NameBox("c")))))) // {-,(-,-),((-,-),-)}
val m9 =
Guide("a",Branch(Guide("b",Branch(End(NameBox("c")),End(StarBox))),Branch(Guide("d",Branch(End(NameBox("e")),End(NameBox("c")))),Branch(End(NameBox("e" )),End(NameBox("f")))))) // {-,(-,-),((-,-),-)} |
위에 2개의 테스트케이스는 다른 테스트케이스들과는 달리 안내판에 써있는 이름을 갖는 보물상자가 실제로는 없는데요.
교수님께서 숙제4에 대해 설명해주실 때 안내판에 써 있는 이름의 보물상자가 실제로 있다고 하고 문제를 풀어도 된다고 하셨는데
이런 테스트케이스가 올라와서 조바심에 글을 올립니다. |
| TA 씀: | 교수님이 수업시간에 그렇게 이야기하셨으면,
그렇게 채점셋을 만들어야겠지요.
확인해보고, 채점셋에 반영하도록 할께요 |
|
_________________ TA |
|