게시판 인덱스

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

숙제 4-2 테스트셋

 
글 쓰기   답변 달기     게시판 인덱스 -> 4190.210 Principles of Programming (Fall 2012)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
윤형석



가입: 2012년 9월 5일
올린 글: 26

올리기올려짐: 2012년10월12일 13:14    주제: 숙제 4-2 테스트셋 인용과 함께 답변

전부 작년 게시판에서 퍼왔습니다.

2년전 조교님이 올려주신 것
코드:
(define (makeI E) (a I E))
(define (makeK E1 E2) (a (a K E1) E2))
(define (makeS E1 E2 E3) (a (a (a S E1) E2) E3))

(define sol1 (makeI (v "Alice")))
(define sol2 (makeK I S)) 
(define sol3 (makeS (v "how") (v "you") (v "do")))
(define sol_13 (a sol1 sol3))

(react S)
;S
(react K)
;K
(react I)
;I
(react (a S I))
;(S I)
(react sol2)
;I
(pprint sol_13)
;((I "Alice") (((S "how") "you") "do"))
(react sol_13)
;("Alice" (("how" "do") ("you" "do")))
(react (a sol2 sol_13))
;("Alice" (("how" "do") ("you" "do")))


2년전 김찬민님이 올려주신 것
코드:

(react (a (a (a I (a (a S K) S)) (a (a (v "1") K) (a (a I I) K))) (a S (v "2"))))
;((("1" K) K) (S "2"))
 (react (a (a (v "3") (a (a (a (a (a (a I K) (a K I)) (a K (a K K))) S) (v "4")) S)) (a (a (a (a (a S I) (a (a K (v "5")) (a K S))) (a (a I I) S)) (a S I)) (a (a (a (a (a K I) I) (a (a (v "6") (a (v "7") (v "8"))) (a K (v "9")))) (a (a (a I K) S) (v "10"))) (a (a I (a (a (a (v "11") (v "12")) (v "13")) (v "14"))) (a S (a (a (a I K) S) (a K S))))))))
;(("3" ("4" S)) ((("5" S) (((("6" ("7" "8")) (K "9")) S) (((("11" "12") "13") "14") (S S)))) ((S I) (((("6" ("7" "8")) (K "9")) S) (((("11" "12") "13") "14") (S S))))))
 (react (a (a (a I S) (a K S)) (a (v "15") (a K K))))
;((S (K S)) ("15" (K K)))
(react (v "16"))
;"16"
 (react (a (a (a S S) (a K (a S (a (a S K) S)))) (a K (a (a (a S (a S K)) (a I (a S S))) S))))
;((S (K ((S S) S))) (S ((S K) S)))
(react (a (a (a (a (a S I) (a (a (v "17") (a K S)) (a (a S (v "18")) (v "19")))) (a (a (a (a S K) (a I I)) (a (a (v "20") S) (a I I))) (a (a S (v "21")) (a (a (v "22") K) K)))) (a (a (a (v "23") (a (a K S) (a K (v "24")))) (a (a S K) S)) (a (a (a (a S (v "25")) (a K K)) (a I K)) (a K (a (a (v "26") I) (a K S)))))) (a (a (a (v "27") K) (a I (a (a S K) (a (a (v "28") I) (a I S))))) (a (a (a I (a (a S I) (a (v "29") (v "30")))) (a (v "31") (a I (a (v "32") (v "33"))))) (a (a (a (a K I) (v "34")) I) (a (a I (v "35")) (a (v "36") I)))))))
;(((((("20" S) I) ((S "21") (("22" K) K))) ((("17" (K S)) ((S "18") "19")) ((("20" S) I) ((S "21") (("22" K) K))))) ((("23" S) ((S K) S)) ((("25" K) K) (K (("26" I) (K S)))))) ((("27" K) ((S K) (("28" I) S))) ((("31" ("32" "33")) (("29" "30") ("31" ("32" "33")))) ("35" ("36" I)))))

 (pprint (a (a (a I (a (a S K) S)) (a (a (v "1") K) (a (a I I) K))) (a S (v "2"))))
;(((I ((S K) S)) (("1" K) ((I I) K))) (S "2"))
 (pprint (a (a (v "3") (a (a (a (a (a (a I K) (a K I)) (a K (a K K))) S) (v "4")) S)) (a (a (a (a (a S I) (a (a K (v "5")) (a K S))) (a (a I I) S)) (a S I)) (a (a (a (a (a K I) I) (a (a (v "6") (a (v "7") (v "8"))) (a K (v "9")))) (a (a (a I K) S) (v "10"))) (a (a I (a (a (a (v "11") (v "12")) (v "13")) (v "14"))) (a S (a (a (a I K) S) (a K S))))))))
;(("3" ((((((I K) (K I)) (K (K K))) S) "4") S)) (((((S I) ((K "5") (K S))) ((I I) S)) (S I)) (((((K I) I) (("6" ("7" "8")) (K "9"))) (((I K) S) "10")) ((I ((("11" "12") "13") "14")) (S (((I K) S) (K S)))))))
(pprint (a (a (a I S) (a K S)) (a (v "15") (a K K))))
;(((I S) (K S)) ("15" (K K)))
(pprint (v "16"))
;"16"
(pprint (a (a (a S S) (a K (a S (a (a S K) S)))) (a K (a (a (a S (a S K)) (a I (a S S))) S))))
;(((S S) (K (S ((S K) S)))) (K (((S (S K)) (I (S S))) S)))
(pprint (a (a (a (a (a S I) (a (a (v "17") (a K S)) (a (a S (v "18")) (v "19")))) (a (a (a (a S K) (a I I)) (a (a (v "20") S) (a I I))) (a (a S (v "21")) (a (a (v "22") K) K)))) (a (a (a (v "23") (a (a K S) (a K (v "24")))) (a (a S K) S)) (a (a (a (a S (v "25")) (a K K)) (a I K)) (a K (a (a (v "26") I) (a K S)))))) (a (a (a (v "27") K) (a I (a (a S K) (a (a (v "28") I) (a I S))))) (a (a (a I (a (a S I) (a (v "29") (v "30")))) (a (v "31") (a I (a (v "32") (v "33"))))) (a (a (a (a K I) (v "34")) I) (a (a I (v "35")) (a (v "36") I)))))))
;(((((S I) (("17" (K S)) ((S "18") "19"))) ((((S K) (I I)) (("20" S) (I I))) ((S "21") (("22" K) K)))) ((("23" ((K S) (K "24"))) ((S K) S)) ((((S "25") (K K)) (I K)) (K (("26" I) (K S)))))) ((("27" K) (I ((S K) (("28" I) (I S))))) (((I ((S I) ("29" "30"))) ("31" (I ("32" "33")))) ((((K I) "34") I) ((I "35") ("36" I))))))


테스트케이스 생성기
코드:

(define (counter n)
  (lambda ()
    (set! n (+ n 1))
    n))

(define c0 (counter 0))

(define (make-liquid depth)
  (if (equal? 0 (random depth))
      (cond [(equal? 0 (random 4))
             (begin (display "(v \"")
                    (display (c0))
                    (display "\")"))]
            [(equal? 0 (random 3))
             (display "S")]
            [(equal? 0 (random 2))
             (display "K")]
            [(equal? 0 (random 1))
             (display "I")])
      (begin (display "(a ")
             (make-liquid (- depth 1))
             (display " ")
             (make-liquid (- depth 1))
             (display ")"))))



https://ropas.snu.ac.kr/phpbb/viewtopic.php?t=2959에서 퍼왔습니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4190.210 Principles of Programming (Fall 2012) 시간대: GMT + 9 시간(한국)
페이지 11

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


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