이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
김기웅
가입: 2014년 9월 16일 올린 글: 5
|
올려짐: 2014년11월20일 10:35 주제: HW 6-7 crazy2add 질문입니다. |
|
|
hw1-7-selfgrader에서는
코드: |
(define (crazy2addGrade)
(begin
(printf "crazy2add\n")
(output (lambda () (equal? '(z . z) (crazy2add 'z 'z))))
(output (lambda () (equal? '(z . z) (crazy2add 'n 'p))))
(output (lambda () (equal? '(p . z) (crazy2add 'z 'p))))
(output (lambda () (equal? '(z z . p) (crazy2add '(p . p) 'p))))
(output (lambda () (equal? '(z n z n p p z z p z z n p . z) (crazy2add '(p n n p p p z z p z z n . p) '(p n n . n)))))
(output (lambda () (equal? '(p n n z z n z n z n n n p z n p . z) (crazy2add '(z n z p n n n n z n n n p z n . p) '(p z n n p z n n . p)))))
(output (lambda () (equal? '(z z z n z z n z z z z p p n z z z . z) (crazy2add '(n n n n z z p n z n n p z n n z . p) '(n z z n n n n n p n z p p z n . n)))))
(output (lambda () (equal? '(n p p z n p p z p z n . z) (crazy2add '(n z z . z) '(z p p z n p p z p z . n)))))
(output (lambda () (equal? '(z z n n z p p p p n p n p p n n . z) (crazy2add '(p p n z p z p p p n p n p p n . n) '(p z n n n p . z)))))
(output (lambda () (equal?'(z p z z z p p n n n p z n p z p . z) (crazy2add '(n z . p) '(p p p p p z p n n n p z n p z . p)))))
)) |
와 같이 맨 뒤에 'z를 붙였습니다.
마찬가지로 이번 과제에서도 마지막에 ZERO NIL을 붙여야되나요?
예를 들자면
코드: | crazy2add (ZERO (ONE NIL)) (ZERO (ONE NIL)) = ZERO(ZERO(ONE(ZERO NIL))) |
처럼요 |
|
위로 |
|
 |
김윤승
가입: 2014년 9월 1일 올린 글: 452 위치: 302동 312-2호
|
올려짐: 2014년11월20일 14:17 주제: |
|
|
이거 예전 그레이더 같은데요?
이 파일 올린 이후에 말씀하신 문제가 있어서 채점기 파일을 다시 올렸었습니다.
다음과 같은 내용이었습니다.
(define (crazy2addGrade)
(begin
(printf "crazy2add\n")
(output (lambda () (equal? 0 (crazy2val (crazy2add 'z 'z)))))
(output (lambda () (equal? 0 (crazy2val (crazy2add 'n 'p)))))
(output (lambda () (equal? 1 (crazy2val (crazy2add 'z 'p)))))
(output (lambda () (equal? 4 (crazy2val (crazy2add '(p . p) 'p)))))
(output (lambda () (equal? 2342 (crazy2val (crazy2add '(p n n p p p z z p z z n . p) '(p n n . n))))))
(output (lambda () (equal? 16731 (crazy2val (crazy2add '(z n z p n n n n z n n n p z n . p) '(p z n n p z n n . p))))))
(output (lambda () (equal? -2120 (crazy2val (crazy2add '(n n n n z z p n z n n p z n n z . p) '(n z z n n n n n p n z p p z n . n))))))
(output (lambda () (equal? -683 (crazy2val (crazy2add '(n z z . z) '(z p p z n p p z p z . n))))))
(output (lambda () (equal? -37932 (crazy2val (crazy2add '(p p n z p z p p p n p n p p n . n) '(p z n n n p . z))))))
(output (lambda () (equal? 37090 (crazy2val (crazy2add '(n z . p) '(p p p p p z p n n n p z n p z . p))))))
))
그래서, z를 맨 뒤에 붙일 필요가 없습니다. |
|
위로 |
|
 |
정의진
가입: 2014년 11월 13일 올린 글: 9
|
올려짐: 2014년11월20일 17:29 주제: |
|
|
2친수를 실수로 변환해서 더했을 때 같은 값만 나오면 표현은 달라도 관계 없는 것 아닌가요? |
|
위로 |
|
 |
김윤승
가입: 2014년 9월 1일 올린 글: 452 위치: 302동 312-2호
|
올려짐: 2014년11월20일 18:13 주제: |
|
|
네, 십진수로 변환해서 같은 값이 나오면 표현은 달라도 됩니다. |
|
위로 |
|
 |
|