게시판 인덱스

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

미천한 testset입니다.

 
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Spring 2011)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
이상우



가입: 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

올리기올려짐: 2011년3월25일 22:28    주제: 인용과 함께 답변

https://ropas.snu.ac.kr/phpbb/viewtopic.php?t=2648
여기에도 나와있듯, 채점시에 고려하지 않으려고 합니다.
자유롭게 처리해 주세요.
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Spring 2011) 시간대: GMT + 9 시간(한국)
페이지 11

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


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