|
|
이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
이상우
가입: 2009년 9월 23일 올린 글: 14
|
올려짐: 2011년3월25일 17:06 주제: 미천한 testset입니다. |
|
|
으음.. 사실 testset이라고 하기는 좀 빈약하긴 하지만;;;
어찌됬거나 다음 숙제부터 능력자분들이 testset을 공유해주길 바라는 간절한 마음에서 + 제 testset에 혹시 문제가 있나 확인하기 위해서 testset을 올립니다.
혹시 셋에 문제가 있다면 바로 댓글 달어주세요. 실시간으로 확인하고 있습니다...
(* hw2_1 *)
mathemadigo (INT 2) = 2.;;
mathemadigo (REAL 3.2) = 3.2;;
mathemadigo (SUB(MUL(INT 2, INT 2), INT 1)) = 3.;;
mathemadigo (SIGMA(INT 1, INT 10, SUB(MUL(X, INT 1), INT 1))) = 45.;;
mathemadigo (SIGMA(INT 1, INT 10, SUB(MUL(X, X), INT 1))) = 375.;;
mathemadigo (INTEGRAL(REAL 1.0, REAL 10.0, SUB(MUL(X,X), INT 1))) = 319.06500000000108 ;; (* 특히 integral은 확신이 없네요... *)
mathemadigo (SIGMA(SIGMA(INT 1, INT 10, SUB(MUL(X, X), INT 1)), INT 375, X)) = 375.;;
mathemadigo (SIGMA(SUB(SIGMA(INT 1, INT 10, SUB(MUL(X, X), INT 1)),INT 374), INT 10, SUB(MUL(X, X), INT 1))) = 375.;;
mathemadigo (SIGMA(INT 1, INT 10, MUL(X, SIGMA(INT 1, INT 10, SUB(MUL(X, X), INT 1))))) = (55. *. 375.);;
mathemadigo (SIGMA(SUB(SIGMA(INT 1, INT 10, SUB(MUL(X, X), INT 1)),INT 374), INT 10, MUL(X, SIGMA(INT 1, INT 10, SUB(MUL(X,X), INT 1))))) = (55. *. 375.);;
mathemadigo (DIV(INT 1, INT 0));; (* DivideByZero *)
mathemadigo (X);; (* FreeVariable *)
mathemadigo (SIGMA(INT 2, INT 1, X));; (* InvalidSigma *)
mathemadigo (SIGMA(REAL 2.2, REAL 3.1, X));; (* InvalidSigma *)
mathemadigo (SIGMA(REAL 2.2, REAL 3.2, X));; (* InvalidSigma *)
(* hw2_2 , hw2_3 *)
(* 으음.. hw2_2 의 정답은 없으니, 일일이 세보시길... *)
let x = [SouthKorea; NorthKorea; Brazil; Italy; Portugal; Japan];;
let test1 = [SouthKorea; Algeria; Cameroon; Honduras; Mexico; USA];;
let test2 = [SouthKorea; Algeria; Cameroon; Argentina; Brazil; Chile; Paraguay];;
let test3 = [SouthKorea; Algeria; Cameroon; Argentina; Brazil; Chile; Paraguay; Uruguay];;
let test4 = List.rev test3;;
let test5 = [SouthKorea];;
let test6 = [SouthKorea; NorthKorea];;
let test7 = [Denmark; England; France; Germany; Greece; Italy; Spain; Netherlands; Portugal];;
let test8 = List.append test7 test3;;
let xx = maketourn x;;
let t1 = maketourn test1;;
let t2 = maketourn test2;;
let t3 = maketourn test3;;
let t4 = maketourn test4;;
let t5 = maketourn test5;;
let t6 = maketourn test6;;
let t7 = maketourn test7;;
let t8 = maketourn test8;;
let t18 = (NODE
(NODE
(NODE (NODE (LEAF Portugal, NODE (LEAF Netherlands, LEAF Uruguay)),
NODE (NODE (LEAF Spain, LEAF Paraguay), NODE (LEAF Italy, LEAF Chile))),
NODE
(NODE (NODE (LEAF Greece, LEAF Brazil),
NODE (LEAF Germany, LEAF Argentina)),
NODE (NODE (LEAF France, LEAF Cameroon),
NODE (LEAF England, LEAF Algeria)))),
NODE (LEAF Denmark, LEAF SouthKorea)));;
pptree xx; pptree t1; pptree t2; pptree t3; pptree t4; pptree t5; pptree t6; pptree t7; pptree t8; pptree t18;;
(* 18번의 답과, 나머지의 제 답은 다음과 같습니다... *)
-------|
---|-------|
-|---|----S-B
J-P-N-I
-------|
---|-------|
-|---|----H-S
C-U-A-M
-------|
---|-------|
-P---|---|---|
----C-C-B-A-A-S
-------|
---|-------|
-|---|---|---|
P-U-C-C-B-A-A-S
-------|
---|-------|
-|---|---|---|
B-A-C-S-P-A-U-C
S
-|
S-N
---------------|
-------|---------------|
---|-------|---------|---|
-G---|----F-S-------E-N-D-P
----G-I
-------------------------------|
---------------|-------------------------------|
-------|---------------|-------------------|-------|
---|-------|---------|---|---------------|---|---|---|
-P---|----S-P-------I-C-G-B-------------G-A-F-C-E-A-D-S
----N-U
-------------------------------|
---------------|-------------------------------|
-------|---------------|----------------------D-S
---|-------|-------|-------|
-P---|---|---|---|---|---|---|
----N-U-S-P-I-C-G-B-G-A-F-C-E-A
(* 띄어쓰기 처리가 잘 안되네요. 마음의 눈으로 보시길... *)
(* hw 2_4 *)
(* 역시 답은 없고... *)
diff (POWER("x", 2), "x");;
diff (TIMES([VAR("a"); POWER("x", 2)]),"x");;
let a = diff (SUM[TIMES([VAR("a"); POWER("x", 2)]); TIMES([VAR("b"); VAR("x")]); VAR("c")], "x");;
let b = diff (a, "x");;
diff (CONST(0), "x");;
diff (CONST(3), "x");;
diff (TIMES([CONST(4); VAR("x")]), "x");;
diff (TIMES([VAR("x"); VAR("y"); VAR("z")]), "x");;
diff (SUM[TIMES([CONST(3); POWER("x", 2)]); TIMES([CONST(4); POWER("y", 2)])], "x");;
diff (TIMES([SUM([VAR("x"); VAR("y")]); VAR("z")]), "x");;
diff (SUM([TIMES([POWER("x", 2); POWER("y", 2)]); TIMES([POWER("y", 2); POWER("z", 2)])]), "x");;
diff (SUM([TIMES([POWER("x", 2); POWER("y", 2)]); TIMES([POWER("x", 2); POWER("z", 2)])]), "x");;
(* hw 2_5 *)
(* 생각해보니 답을 달아논게 hw 2_1 밖에 없네요;;; *)
(* 이건 곧 올리겠습니다.. *)
let myQ = IntListQ.emptyQ;;
let yourQ = IntListQ.enQ(myQ, [1]);;
let (x,restQ) = IntListQ.deQ yourQ;;
let hisQ = IntListQ.enQ(restQ, [2]);;
let a = IntListQ.emptyQ;;
let b = IntListQ.enQ (a, [1]);;
let c = IntListQ.enQ (b, [2;3]);;
let (dx,d) = IntListQ.deQ c;;
let e = IntListQ.enQ (d, [4;5;6]);;
let (fx,f) = IntListQ.deQ e;;
let (gx,g) = IntListQ.deQ f;;
let (hx,h) = IntListQ.deQ g;; (* EMPTY_Q *)
a = ([],[]);;
b = ([[1]], []);;
c = ([[2; 3]; [1]], []);;
dx = [1];;
d = ([], [[2; 3]]);;
e = ([[4; 5; 6]], [[2; 3]]);;
fx = [2; 3];;
f = ([[4; 5; 6]], []);;
gx = [4; 5; 6];;
g = ([], []);;
이상우 가 2011년3월25일 18:55에 수정함, 총 6 번 수정됨 |
|
위로 |
|
|
김진영_
가입: 2009년 12월 9일 올린 글: 337
|
올려짐: 2011년3월25일 17:33 주제: |
|
|
수강생들 사이에 풀이를 교환하지 않는 이상, 다양한 테스트 케이스의 공유를 적극 장려합니다. |
|
위로 |
|
|
유.강민
가입: 2011년 3월 22일 올린 글: 38
|
올려짐: 2011년3월25일 21:08 주제: RE |
|
|
mathemadigo (INT 2) = 2.;;
mathemadigo (REAL 3.2) = 3.2;;
mathemadigo (SUB(MUL(INT 2, INT 2), INT 1)) = 3.;;
mathemadigo (SIGMA(INT 1, INT 10, SUB(MUL(X, INT 1), INT 1))) = 45.;;
mathemadigo (SIGMA(INT 1, INT 10, SUB(MUL(X, X), INT 1))) = 375.;;
mathemadigo (INTEGRAL(REAL 1.0, REAL 10.0, SUB(MUL(X,X), INT 1))) = 319.06500000000108 ;; (* 특히 integral은 확신이 없네요... *)
>>mathemadigo (SIGMA(SIGMA(INT 1, INT 10, SUB(MUL(X, X), INT 1)), INT 375, X)) = 375.;;
mathemadigo (SIGMA(SUB(SIGMA(INT 1, INT 10, SUB(MUL(X, X), INT 1)),INT 374), INT 10, SUB(MUL(X, X), INT 1))) = 375.;;
mathemadigo (SIGMA(INT 1, INT 10, MUL(X, SIGMA(INT 1, INT 10, SUB(MUL(X, X), INT 1))))) = (55. *. 375.);;
mathemadigo (SIGMA(SUB(SIGMA(INT 1, INT 10, SUB(MUL(X, X), INT 1)),INT 374), INT 10, MUL(X, SIGMA(INT 1, INT 10, SUB(MUL(X,X), INT 1))))) = (55. *. 375.);;
mathemadigo (DIV(INT 1, INT 0));; (* DivideByZero *)
mathemadigo (X);; (* FreeVariable *)
mathemadigo (SIGMA(INT 2, INT 1, X));; (* InvalidSigma *)
mathemadigo (SIGMA(REAL 2.2, REAL 3.1, X));; (* InvalidSigma *)
mathemadigo (SIGMA(REAL 2.2, REAL 3.2, X));; (* InvalidSigma *)
안녕하세요 화살표로 표시한 식은 Invalid라고 띄워야되지 않나요? 반환값이 float라 타입이 안맞을텐데요. |
|
위로 |
|
|
김현우
가입: 2010년 9월 6일 올린 글: 56
|
올려짐: 2011년3월25일 21:32 주제: |
|
|
유강민님 말씀대로
인용: | Exception: InvalidSigma |
가 나와야 하는 것 같습니다. |
|
위로 |
|
|
이상우
가입: 2009년 9월 23일 올린 글: 14
|
올려짐: 2011년3월25일 22:24 주제: |
|
|
인용: | 모든 exp은 실행하면 float 타입으로 들어오므로 int_of_float 함수를 이용해서 정수 타입으로 변환 후 해석하시면 됩니다. |
라는 20일자의 조교님 말씀에 따라 저 375. 를 int 375로 해석했는데요...
그 뒤의 공지에 맞추어서, 저 부분에서 error를 띄워 주어야 할까요?
좀 더 고민해 보고 싶기는 하지만, 시간이 거의 다 된 관계로, 조교님이 간단한 testset으로 테스트 해보시기를 빌도록 하겠습니다... |
|
위로 |
|
|
김진영_
가입: 2009년 12월 9일 올린 글: 337
|
|
위로 |
|
|
|
|
새로운 주제를 올릴 수 없습니다 답글을 올릴 수 없습니다 주제를 수정할 수 없습니다 올린 글을 삭제할 수 없습니다 투표를 할 수 없습니다
|
Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group Translated by kss & drssay
|