게시판 인덱스

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

HW3 테스트셋입니다.

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



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

올리기올려짐: 2009년10월10일 19:56    주제: HW3 테스트셋입니다. 인용과 함께 답변

너무 화면에 뿌려지는 글자가 많아서 눈이 핑핑 도네요.
이렇게 돌려봐도 제대로 짠건지도 모르겠고..

미로 만드는건 테스트가 안될거같아서 패스합니다.
채점용 갈림길 수 세는 함수라도 만들어볼까 했는데 각자 내부구현따라 길찾기 함수가 다를테니 그런것도 불가능할것 같고요.

비대칭 beautiful한 무늬 만드는게 꽤 어렵군요 .....


> (define Basic1 (glue-array-from-array black black white black))
> (pprint-array Basic1)
■ ■
■ □

> (define Basic2 (glue-array-from-array black white white black))
> (pprint-array Basic2)
■ □
■ □

> (pprint-array (glue-array-from-array Basic1 Basic2 (rotate-array Basic1) (rotate-array Basic2)))
■ ■ ■ □
■ □ ■ □
■ ■ ■ ■
□ □ □ ■

> (beautiful (glue-array-from-array Basic1 (rotate-array (rotate-array Basic2)) (rotate-array Basic1)

(rotate-array Basic2)))
#f

> (pprint-array (glue-array-from-array Basic1 (rotate-array (rotate-array Basic2)) (rotate-array

Basic1) (rotate-array Basic2)))
■ ■ □ ■
■ □ □ ■
■ ■ ■ ■
□ □ □ ■

> (beautiful (glue-array-from-array Basic1 (rotate-array (rotate-array Basic2)) (rotate-array Basic1)

(rotate-array Basic2)))
#f

> (pprint-array (glue-array-from-array Basic1 (rotate-array Basic1) (rotate-array (rotate-array

Basic1)) (rotate-array (rotate-array (rotate-array Basic1)))))
■ ■ ■ ■
■ □ □ ■
■ □ □ ■
■ ■ ■ ■

> (beautiful (glue-array-from-array Basic1 (rotate-array Basic1) (rotate-array (rotate-array Basic1))

(rotate-array (rotate-array (rotate-array Basic1)))))
#t

> (pprint-array (glue-array-from-array
(glue-array-from-array (glue-array-from-array black black white black) (glue-array-from-array

white black black black) (glue-array-from-array white white black white) (glue-array-from-array white

black black black))
(glue-array-from-array (glue-array-from-array white black black white) (glue-array-from-array

white white black black) (glue-array-from-array white black white white) (glue-array-from-array black

white black black))
(glue-array-from-array (glue-array-from-array black white black white) (glue-array-from-array

black black black white) (glue-array-from-array black white black black) (glue-array-from-array black

white white black))
(glue-array-from-array (glue-array-from-array white white black black) (glue-array-from-array

black white white white) (glue-array-from-array black black black white) (glue-array-from-array white

white black black))))
■ ■ □ ■ □ ■ □ □
■ □ ■ ■ □ ■ ■ ■
□ ■ □ □ ■ □ □ ■
■ ■ □ ■ ■ ■ □ □
□ □ ■ □ ■ □ ■ ■
■ ■ □ □ □ ■ □ ■
□ □ ■ ■ ■ □ ■ □
■ ■ □ ■ ■ □ ■ ■

> (beautiful (glue-array-from-array
(glue-array-from-array (glue-array-from-array black black white black) (glue-array-from-array

white black black black) (glue-array-from-array white white black white) (glue-array-from-array white

black black black))
(glue-array-from-array (glue-array-from-array white black black white) (glue-array-from-array

white white black black) (glue-array-from-array white black white white) (glue-array-from-array black

white black black))
(glue-array-from-array (glue-array-from-array black white black white) (glue-array-from-array

black black black white) (glue-array-from-array black white black black) (glue-array-from-array black

white white black))
(glue-array-from-array (glue-array-from-array white white black black) (glue-array-from-array

black white white white) (glue-array-from-array black black black white) (glue-array-from-array white

white black black))))

#f

> (pprint-array (glue-array-from-array
(glue-array-from-array (glue-array-from-array white black white black) (glue-array-from-array

black black white white) (glue-array-from-array black black black white) (glue-array-from-array black

white white black))
(glue-array-from-array (glue-array-from-array white white black black) (glue-array-from-array

black white black black) (glue-array-from-array black white white black) (glue-array-from-array white

white white white))
(glue-array-from-array (glue-array-from-array white black white white) (glue-array-from-array

black white white black) (glue-array-from-array white black white black) (glue-array-from-array black

black white white))
(glue-array-from-array (glue-array-from-array black white white black) (glue-array-from-array

black white black black) (glue-array-from-array white white black black) (glue-array-from-array black

white black white))))
□ ■ ■ ■ □ □ ■ □
■ □ □ □ ■ ■ ■ ■
■ □ ■ ■ □ □ ■ □
■ □ □ ■ □ □ ■ □
■ □ ■ □ □ ■ ■ □
■ □ ■ ■ □ □ ■ □
■ □ □ □ ■ ■ □ ■
□ ■ ■ ■ □ □ ■ □

> (beautiful (glue-array-from-array
(glue-array-from-array (glue-array-from-array white black white black) (glue-array-from-array

black black white white) (glue-array-from-array black black black white) (glue-array-from-array black

white white black))
(glue-array-from-array (glue-array-from-array white white black black) (glue-array-from-array

black white black black) (glue-array-from-array black white white black) (glue-array-from-array white

white white white))
(glue-array-from-array (glue-array-from-array white black white white) (glue-array-from-array

black white white black) (glue-array-from-array white black white black) (glue-array-from-array black

black white white))
(glue-array-from-array (glue-array-from-array black white white black) (glue-array-from-array

black white black black) (glue-array-from-array white white black black) (glue-array-from-array black

white black white))))

#t

> (beautiful (glue-tree-from-array
(glue-array-from-array (glue-array-from-array white black white black) (glue-array-from-array

black black white white) (glue-array-from-array black black black white) (glue-array-from-array black

white white black))
(glue-array-from-array (glue-array-from-array white white black black) (glue-array-from-array

black white black black) (glue-array-from-array black white white black) (glue-array-from-array white

white white white))
(glue-array-from-array (glue-array-from-array white black white white) (glue-array-from-array

black white white black) (glue-array-from-array white black white black) (glue-array-from-array black

black white white))
(glue-array-from-array (glue-array-from-array black white white black) (glue-array-from-array

black white black black) (glue-array-from-array white white black black) (glue-array-from-array black

white black white))))

#t

> (pprint-tree (glue-tree-from-tree
(glue-tree-from-array (glue-array-from-array white black white black) (glue-array-from-tree black

black white white) (glue-array-from-tree black black black white) (glue-array-from-array black white

white black))
(glue-tree-from-array (glue-array-from-array white white black black) (glue-array-from-tree black

white black black) (glue-array-from-tree black white white black) (glue-array-from-array white white

white white))
(glue-tree-from-array (glue-array-from-array white black white white) (glue-array-from-tree black

white white black) (glue-array-from-array white black white black) (glue-array-from-tree black black

white white))
(glue-tree-from-array (glue-array-from-array black white white black) (glue-array-from-tree black

white black black) (glue-array-from-array white white black black) (glue-array-from-tree black white

black white))))
□ ■ ■ ■ □ □ ■ □
■ □ □ □ ■ ■ ■ ■
■ □ ■ ■ □ □ ■ □
■ □ □ ■ □ □ ■ □
■ □ ■ □ □ ■ ■ □
■ □ ■ ■ □ □ ■ □
■ □ □ □ ■ ■ □ ■
□ ■ ■ ■ □ □ ■ □

> (pprint-array (glue-tree-from-tree
(glue-tree-from-array (glue-array-from-array white black white black) (glue-array-from-tree black

black white white) (glue-array-from-tree black black black white) (glue-array-from-array black white

white black))
(glue-tree-from-array (glue-array-from-array white white black black) (glue-array-from-tree black

white black black) (glue-array-from-tree black white white black) (glue-array-from-array white white

white white))
(glue-tree-from-array (glue-array-from-array white black white white) (glue-array-from-tree black

white white black) (glue-array-from-array white black white black) (glue-array-from-tree black black

white white))
(glue-tree-from-array (glue-array-from-array black white white black) (glue-array-from-tree black

white black black) (glue-array-from-array white white black black) (glue-array-from-tree black white

black white))))
타입에러

> (pprint-tree (glue-tree-from-tree
(glue-tree-from-tree (glue-array-from-array white black white black) (glue-array-from-tree black

black white white) (glue-array-from-tree black black black white) (glue-array-from-array black white

white black))
(glue-tree-from-array (glue-array-from-array white white black black) (glue-array-from-tree black

white black black) (glue-array-from-tree black white white black) (glue-array-from-array white white

white white))
(glue-tree-from-array (glue-array-from-array white black white white) (glue-array-from-tree black

white white black) (glue-array-from-array white black white black) (glue-array-from-tree black black

white white))
(glue-tree-from-array (glue-array-from-array black white white black) (glue-array-from-tree black

white black black) (glue-array-from-array white white black black) (glue-array-from-tree black white

black white))))
타입에러

> (glue-array-from-tree (glue-tree-from-tree black black black black) (glue-tree-from-array white

white white white) (glue-tree-from-array black black black black) black)
크기 불일치

> (glue-array-from-array (glue-tree-from-tree black black black black) (glue-tree-from-array white

white white white) (glue-tree-from-array black black black black) black)
크기 불일치

> (glue-tree-from-array (glue-tree-from-tree black black black black) (glue-tree-from-array white

white white white) (glue-tree-from-array black black black black) black)
크기 불일치

> (glue-tree-from-tree (glue-tree-from-tree black black black black) (glue-tree-from-array white

white white white) (glue-tree-from-array black black black black) black)
크기 불일치

> (rotate-tree (glue-array-from-tree black black white white))
타입에러

> (rotate-array (glue-tree-from-array black black white white))
타입 에러

> (neighbor (list 1 2) (glue-array-from-array
(glue-array-from-array (glue-array-from-array white black white black) (glue-array-from-array

black black white white) (glue-array-from-array black black black white) (glue-array-from-array black

white white black))
(glue-array-from-array (glue-array-from-array white white black black) (glue-array-from-array

black white black black) (glue-array-from-array black white white black) (glue-array-from-array white

white white white))
(glue-array-from-array (glue-array-from-array white black white white) (glue-array-from-array

black white white black) (glue-array-from-array white black white black) (glue-array-from-array black

black white white))
(glue-array-from-array (glue-array-from-array black white white black) (glue-array-from-array

black white black black) (glue-array-from-array white white black black) (glue-array-from-array black

white black white))))
위치 정의 불가

> (neighbor (list 1 2 3 1) (glue-array-from-array
(glue-array-from-array (glue-array-from-array white black white black) (glue-array-from-array

black black white white) (glue-array-from-array black black black white) (glue-array-from-array black

white white black))
(glue-array-from-array (glue-array-from-array white white black black) (glue-array-from-array

black white black black) (glue-array-from-array black white white black) (glue-array-from-array white

white white white))
(glue-array-from-array (glue-array-from-array white black white white) (glue-array-from-array

black white white black) (glue-array-from-array white black white black) (glue-array-from-array black

black white white))
(glue-array-from-array (glue-array-from-array black white white black) (glue-array-from-array

black white black black) (glue-array-from-array white white black black) (glue-array-from-array black

white black white))))
위치 정의 불가

> (neighbor (list 1 2 4) (glue-array-from-array
(glue-array-from-array (glue-array-from-array white black white black) (glue-array-from-array

black black white white) (glue-array-from-array black black black white) (glue-array-from-array black

white white black))
(glue-array-from-array (glue-array-from-array white white black black) (glue-array-from-array

black white black black) (glue-array-from-array black white white black) (glue-array-from-array white

white white white))
(glue-array-from-array (glue-array-from-array white black white white) (glue-array-from-array

black white white black) (glue-array-from-array white black white black) (glue-array-from-array black

black white white))
(glue-array-from-array (glue-array-from-array black white white black) (glue-array-from-array

black white black black) (glue-array-from-array white white black black) (glue-array-from-array black

white black white))))
위치 정의 불가

> (glue (glue-array-from-array black black black black) (glue-array-from-array black black black

black) (glue-array-from-array black black black black) (glue-tree-from-tree black black black black))
타입 불일치

> (glue (glue-array-from-array (glue-array-from-array white black white black) (glue-array-from-array

black black white white) (glue-array-from-array black black black white) (glue-array-from-array black

white white black)) (glue-array-from-array black black black black) (glue-array-from-array black

black black black) (glue-array-from-tree black black black black))
크기 불일치

> (equal (glue-array-from-array black white black white) (glue-tree-from-array black white black

white))
#t




이제 match 테스트입니다.
결과 뒤에 ;; 로 덧붙인 것은 사용된 code를 좀 알아보기 쉽게?
regular expression처럼 표현해본 것입니다.

> (match (list 1) (bang (atom 1)))
#t ;; 1!

> (match (list 1 1) (bang (atom 1)))
#t ;; 1!

> (match (list 1 1 1) (bang (atom 1)))
#f ;; 1!

> (match (list 1 2 3) (dot (dot (atom 1) (atom 2)) (atom 3)))
#t ;; 123

> (match (list 1 2 3) (dot (atom 1) (dot (atom 2) (atom 3))))
#t ;; 123

> (match (list 1 0 0 1) (plus (bar (bar (bang (dot (dot (atom 1) (atom 0)) (atom 0))) (bang (dot

(atom 1) (atom 0)))) (bang (dot (atom 0) (atom 1))))))
#t ;; ((100)! | (10)! | (01)!)+

> (match (list 1 0 0 0 1) (plus (bar (bar (bang (dot (dot (atom 1) (atom 0)) (atom 0))) (bang (dot

(atom 1) (atom 0)))) (bang (dot (atom 0) (atom 1))))))
#t ;; ((100)! | (10)! | (01)!)+

> (match (list 0 1 0 1 1 0 1 0 0 1) (plus (bar (bar (bang (dot (dot (atom 1) (atom 0)) (atom 0)))

(bang (dot (atom 1) (atom 0)))) (bang (dot (atom 0) (atom 1))))))
#t ;; ((100)! | (10)! | (01)!)+

> (match (list 0 0) (plus (bar (bar (bang (dot (dot (atom 1) (atom 0)) (atom 0))) (bang (dot (atom 1)

(atom 0)))) (bang (dot (atom 0) (atom 1))))))
#f ;; ((100)! | (10)! | (01)!)+

> (match (list 1 0 0 1 0 1) (plus (bar (bar (bang (dot (dot (atom 1) (atom 0)) (atom 0))) (bang (dot

(atom 1) (atom 0)))) (bang (dot (atom 0) (atom 1))))))
#t ;; ((100)! | (10)! | (01)!)+

> (match (list 1 1) (dot (atom 1) (plus (atom 1))))
#t ;; 1(1+)

> (match (list 1 1) (dot (dot (atom 1) (plus (atom 1))) (atom 1)))
#f ;; 1(1+)1

> (match (list 1 0 0 0 1) (dot (dot (atom 1) (plus (atom 0))) (dot (atom 0) (atom 1))))
#t ;; 1(0+)01

> (match (list 1 0 1) (dot (dot (atom 1) (plus (atom 0))) (dot (atom 0) (atom 1))))
#f ;; 1(0+)01

> (match (list 1 1 0 1 1 0) (dot (dot (bang (atom 1)) (plus (atom 0))) (plus (dot (atom 1) (atom

0)))))
#f ;; 1!0+(10)+

> (match (list 1 1 0 0 0 1 0 1 0) (dot (dot (bang (atom 1)) (plus (atom 0))) (plus (dot (atom 1)

(atom 0)))))
#t ;; 1!0+(10)+

> (match (list 2 1 0 0 1 1 1 0 0 0 0 0 1 1 1 2) (dot (atom 2) (dot (plus (dot (plus (atom 0)) (plus

(atom 1)))) (atom 2))))
#f ;; 2(0+1+)+2

> (match (list 2 0 0 1 1 1 0 0 0 0 0 1 1 1 2) (dot (atom 2) (dot (plus (dot (plus (atom 0)) (plus

(atom 1)))) (atom 2))))
#t ;; 2(0+1+)+2

> (match (list 2 1 0 0 1 1 1 0 0 0 0 0 1 1 1 2) (dot (atom 2) (dot (plus (bar (plus (atom 0)) (plus

(atom 1)))) (atom 2))))
#t ;; 2((0+)|(1+))+2

> (match (list 2 0 0 1 1 1 0 0 0 0 0 1 1 1 2) (dot (atom 2) (dot (plus (bar (plus (atom 0)) (plus

(atom 1)))) (atom 2))))
#t ;; 2((0+)|(1+))+2

> (match (list 2 1 0 0 1 1 1 0 2 0 0 0 0 1 1 1 2) (dot (atom 2) (dot (plus (bar (plus (atom 0)) (plus

(atom 1)))) (atom 2))))
#f ;; 2((0+)|(1+))+2
위로
사용자 정보 보기 비밀 메시지 보내기
박상철



가입: 2009년 10월 10일
올린 글: 1

올리기올려짐: 2009년10월10일 21:16    주제: 감사합니다! 인용과 함께 답변

항상 감사합니다 Very Happy Very Happy Very Happy
위로
사용자 정보 보기 비밀 메시지 보내기
김학봉



가입: 2008년 9월 5일
올린 글: 70

올리기올려짐: 2009년10월10일 21:41    주제: .. 인용과 함께 답변

고마워~~
위로
사용자 정보 보기 비밀 메시지 보내기
윤용호



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

올리기올려짐: 2009년10월12일 13:01    주제: 추가 인용과 함께 답변

타입 안따지는 neighbor, glue, rotate 테스트 좀 추가해보고
긴 매칭 추가해보았습니다.


> (pprint-array (glue-array-from-array (glue-array-from-tree black black white black)
(glue-array-from-array black white black black)
(glue-array-from-tree black black white black)
(glue-array-from-array black white white black)))
■ ■ ■ □
■ □ ■ ■
■ □ ■ ■
■ □ ■ □

> (pprint-array (glue-array-from-tree (glue-tree-from-tree black black white black)
(glue-tree-from-array black white black black)
(glue-tree-from-tree black black white black)
(glue-tree-from-array black white white black)))
■ ■ ■ □
■ □ ■ ■
■ □ ■ ■
■ □ ■ □

> (pprint-tree (glue-tree-from-tree (glue-tree-from-tree black black white black)
(glue-tree-from-array black white black black)
(glue-tree-from-tree black black white black)
(glue-tree-from-array black white white black)))
■ ■ ■ □
■ □ ■ ■
■ □ ■ ■
■ □ ■ □

> (pprint-tree (glue-tree-from-array (glue-array-from-tree black black white black)
(glue-array-from-array black white black black)
(glue-array-from-tree black black white black)
(glue-array-from-array black white white black)))
■ ■ ■ □
■ □ ■ ■
■ □ ■ ■
■ □ ■ □

> (pprint-tree (rotate-tree (glue-tree-from-tree (glue-tree-from-tree black black white black)
(glue-tree-from-array black white black black)
(glue-tree-from-tree black black white black)
(glue-tree-from-array black white white black))))
■ ■ ■ ■
□ □ □ ■
■ ■ ■ ■
□ ■ ■ □

> (pprint-array (rotate-array (glue-array-from-tree (glue-tree-from-tree black black white black)
(glue-tree-from-array black white black black)
(glue-tree-from-tree black black white black)
(glue-tree-from-array black white white black))))
■ ■ ■ ■
□ □ □ ■
■ ■ ■ ■
□ ■ ■ □

> (neighbor-array (list 0 2) (rotate-array (glue-array-from-tree (glue-tree-from-tree black black white black)
(glue-tree-from-array black white black black)
(glue-tree-from-tree black black white black)
(glue-tree-from-array black white white black))))
6

> (neighbor-tree (list 0 2) (rotate-tree (glue-tree-from-tree (glue-tree-from-tree black black white black)
(glue-tree-from-array black white black black)
(glue-tree-from-tree black black white black)
(glue-tree-from-array black white white black))))
6

> (neighbor-array (list 1 3) (rotate-array (glue-array-from-tree (glue-tree-from-tree black black white black)
(glue-tree-from-array black white black black)
(glue-tree-from-tree black black white black)
(glue-tree-from-array black white white black))))
7

> (neighbor-tree (list 1 3) (rotate-tree (glue-tree-from-tree (glue-tree-from-tree black black white black)
(glue-tree-from-array black white black black)
(glue-tree-from-tree black black white black)
(glue-tree-from-array black white white black))))
7

> (neighbor (list 1 3) (rotate (glue (glue-tree-from-tree black black white black)
(glue-tree-from-array black white black black)
(glue-tree-from-tree black black white black)
(glue-tree-from-array black white white black))))
7

> (neighbor (list 1 3) (rotate (glue (glue-tree-from-tree black black white black)
(glue-tree-from-array black white black black)
(glue-tree-from-tree black black white black)
(glue-tree-from-array black white white black))))
7

> (neighbor (list 1 3) (rotate (glue (glue-tree-from-tree black black white black)
(glue-tree-from-array black white black black)
(glue-tree-from-tree black black white black)
(glue-tree-from-array black white white black))))
7

> (neighbor (list 1 3) (rotate (glue (glue-array-from-tree black black white black)
(glue-array-from-array black white black black)
(glue-tree-from-tree black black white black)
(glue-tree-from-array black white white black))))
glue에서 타입 불일치





> (time (myMatch (list 1 0 0 1 1 2 2 2 2 2 0 0 0 1 0 1 0 0 1 2 2 2 2) (dot (dot (atom 1) (plus (bar (bar (bang (atom 0)) (bang (atom 1))) (plus (atom 2))))) (atom 2))))
cpu time: 47 real time: 46 gc time: 0
#t ;; 1 (0! | 1! | 2+) 2, string 길이는 23

> (time (myMatch (list 1 0 0 1 1 2 2 2 2 2 0 0 0 1 0 1 0 0 1 2 2 2 2 1) (dot (dot (atom 1) (plus (bar (bar (bang (atom 0)) (bang (atom 1))) (plus (atom 2))))) (atom 2))))
cpu time: 109 real time: 109 gc time: 0
#f ;; 1 (0! | 1! | 2+) 2, string 길이는 24

> (time (myMatch (list 1 0 0 1 1 2 2 2 2 0 1 0 1 2 2 0 0 1 1 1 1 1 1 2 0 0 0 1 0 1 0 0 1 2 2 2 2) (dot (dot (atom 1) (plus (bar (bar (bang (atom 0)) (bang (atom 1))) (plus (atom 2))))) (atom 2))))
cpu time: 1750 real time: 1750 gc time: 157
#t ;; 1 (0! | 1! | 2+) 2, string 길이는 37

> (time (myMatch (list 1 0 0 1 1 2 2 2 2 0 1 0 1 2 2 0 0 1 1 1 1 1 1 2 0 0 0 1 0 1 0 0 1 2 2 2 1) (dot (dot (atom 1) (plus (bar (bar (bang (atom 0)) (bang (atom 1))) (plus (atom 2))))) (atom 2))))
cpu time: 2688 real time: 2688 gc time: 250
#f ;; 1 (0! | 1! | 2+) 2, string 길이는 37
_________________
TA
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 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