게시판 인덱스

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

숙제 5와 관련해서 질문 드립니다.

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



가입: 2006년 4월 17일
올린 글: 12

올리기올려짐: 2006년6월4일 18:19    주제: 숙제 5와 관련해서 질문 드립니다. 인용과 함께 답변

이번 숙제는 지난 숙제와 비교도 안될만큼 어렵고 시간도 많이 걸리는 거 같애요. 저만 그런건지 모르겠지만.
하나씩 차례대로 질문 드립니다.

1번.
이 문제는 테스트 케이스가 없어서 좀 난감한데요. 제가 아래와 같이 테스트 케이스를 만들고 그에 대한 답을 올렸는데 맞는지 한 번 봐주시면 감사하겠습니다.

val x = exeval SEQUENCE ( ASSIGN (ADD (VAR, NUM (1))) , (ASSIGN (ADD (VAR, NUM (1)))) ) 0
=> [2]
val y = exeval REPEAT ( ASSIGN (ADD (VAR, NUM (-1))) ) (3)
=> [-5, -4, -3, -2, -1, 0, 1, 2, 3]
val z = exeval CHOICE ( ASSIGN (ADD (VAR, NUM (-1))), ASSIGN (ADD (VAR, NUM (1))) ) 0
=> [-1, 1]
val t = exeval SEQUENCE ( ASSIGN ( NUM(1) ) , REPEAT( CHOICE( EQ( NUM(1) , ASSIGN(ADD(VAR, NUM(1))) ) , NEQ( NUM(1) , ASSIGN(SUB(VAR, NUM(1))) ) ) ) ) 0
=> [1, 2]
val k = exeval REPEAT ( CHOICE( ASSIGN (ADD (VAR, NUM (-1)) ) , ASSIGN(NUM(5) ) ) ) 0
=> [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
val l = exeval SEQUENCE ( ASSIGN ( NUM(1) ) , REPEAT( CHOICE( REPEAT( CHOICE( EQ( NUM(1) , ASSIGN(ADD(VAR, NUM(1))) ) , NEQ( NUM(1) , ASSIGN(SUB(VAR, NUM(1))) ) ) ) , REPEAT ( CHOICE( ASSIGN (ADD (VAR, NUM (3)) ) , ASSIGN(NUM(0) ) ) ) ) ) ) 0
=> [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]

(올리고 보니 좀 기네요.)

2.
집합을 나타내니까 집합 원소의 우선 순위는 중요하지 않겠죠? {1, 2} == {2, 1}과 같이

이것도 테스트 케이스를 만들어 봤는데 맞는지 한 번 봐주시면 좋겠습니다.
structure B = PowerSetFun(IntSet)
val a = IntSet.add(1, IntSet.add(2, IntSet.add(1,IntSet.empty)))
val b = IntSet.add(2, IntSet.add(1, IntSet.add(2,IntSet.empty)))
val c = IntSet.add(2, IntSet.empty)
val d = B.add(c, B.add(b, B.add(a, B.empty)))
=>
val a: int IntSet.set = IntSet.Set (2, IntSet.Set (1, IntSet.Empty))
val b: int IntSet.set = IntSet.Set (1, IntSet.Set (2, IntSet.Empty))
val c: int IntSet.set = IntSet.Set (2, IntSet.Empty)
val d: int IntSet.set B.set
= B.Set
(IntSet.Set (2, IntSet.Empty),
B.Set (IntSet.Set (2, IntSet.Set (1, IntSet.Empty)), B.Empty))


3. 이건 아직 한 줄도 못 적었는데요. 문제 자체가 잘 이해가 안되네요.
그 중에 평면의 조건 부분이 잘 이해가 안됩니다.
평면의 조건 3개가 다 어떤 형태를 의미하는지 모르겠는데 좀 더 쉽게 설명해 주실 수 있나요? (그림으로 보이면 제일 좋을텐데... ^^)

다들 기말이라 바쁘신가 보네요. 마지막 마무리 잘 해봅시다. 화이팅!
위로
사용자 정보 보기 비밀 메시지 보내기
허승



가입: 2006년 6월 2일
올린 글: 2

올리기올려짐: 2006년6월4일 23:14    주제: 우와 인용과 함께 답변

테스트 셋 감사합니다 : )

답은 저도 똑같이 나오네요

그나저나 미로는 어떻게 해야할지 ㅠㅠ
위로
사용자 정보 보기 비밀 메시지 보내기
박대준



가입: 2005년 10월 7일
올린 글: 245

올리기올려짐: 2006년6월5일 19:21    주제: 인용과 함께 답변

황창호 씀:
그 중에 평면의 조건 부분이 잘 이해가 안됩니다.
평면의 조건 3개가 다 어떤 형태를 의미하는지 모르겠는데 좀 더 쉽게 설명해 주실 수 있나요? (그림으로 보이면 제일 좋을텐데... ^^)


첫번째 조건: 4각형으로 그려진 미로란 우리가 흔히 떠올리는 일반적인
미로를 말합니다.
이 미로의 4개의 외곽 벽은 모두 막혀있는게 특징이죠.

두번째 조건: 원통의 바깥면에 그려진 미로란 방금 말한 4각형 미로에서
양 옆의 외곽 벽이 터져있는 것을 말합니다.
예를 들어 아래와 같은 미로를 생각하시면 되겠습니다.

코드:
+--+--+
|  | C|
+--+  +
 A | B
+--+--+


일반 미로는 B에서 C로 가는 길만 존재하지만, 두번째 조건을 가진 미로는
B에서 A로 가는 길도 존재하는 미로를 말합니다.
개념적으로 위 미로를 원통형으로 말아서 모서리를 붙인다면 B와 A가
자연스럽게 만나게되겠죠.

세번째 조건의 미로는 두번째 조건에서 더 나아가서 위아래로도 벽이 터져
있는 미로를 말합니다. 개념적으로 도넛모양이 될 것입니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.210 Principles of Programming (Spring 2006) 시간대: GMT + 9 시간(한국)
페이지 11

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


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