 |
|
이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
이승중
가입: 2010년 6월 22일 올린 글: 561
|
올려짐: 2012년9월13일 15:39 주제: 숙제 1 테스트셋 |
|
|
코드: | (* ex1 *)
let a11 = merge ([7; 2; 1], [5; 4; 3])
let a12 = merge ([], [])
let a13 = merge ([9; 2], [])
let a14 = merge ([], [7; 3])
let a15 = merge ([5; 4; 3], [5; 4; 3])
let a16 = merge ([5; 3; 1], [8; 6; 4; 2; 0])
(* ex2 sigma *)
let a21 = sigma (0, 3, function x -> x)
let a22 = sigma (3, 3, function x -> x)
let a23 = sigma (7, 10, function x -> x*x)
let a24 = sigma (11, 10, function x -> x*x)
(* ex3 iter *)
let a31 = iter (3, function x -> 2+x) 0
let a32 = iter (0, function x -> 2*x) 4
let a33 = iter (11, function x -> 2*x+1) 7
(* ex4 sumprod *)
let matrix (i, j) = ((float_of_int i) *. 10.) +. (float_of_int j)
let a41 = sumprod ((function (_, _) -> 2.), 3, 3)
let a42 = sumprod (matrix, 2, 7)
let a43 = sumprod (matrix, 10, 9)
(* ex5 *)
let a51 = parenize (LEAF Italy)
let a52 = parenize (LEAF Argentina)
let a53 = parenize (NODE(NODE(LEAF Korea, LEAF Portugal), LEAF Brazil))
let a54 = parenize (NODE(LEAF Norway, NODE(NODE(LEAF Cameroon, LEAF Poland), LEAF Sweden)))
(* ex6 *)
let a61 = eval TRUE
let a62 = eval FALSE
let a63 = eval (NOT TRUE)
let a64 = eval (ANDALSO (TRUE, FALSE))
let a65 = eval (ORELSE (TRUE, FALSE))
let a66 = eval (LESS (PLUS(NUM 3, NUM 4), MINUS(NUM 7, NUM 8)))
(* ex7 *)
let a71 = natadd (SUCC ZERO, ZERO)
let a72 = natadd (ZERO, ZERO)
let a73 = natadd (SUCC ZERO, SUCC (SUCC ZERO))
let a74 = natmul (SUCC ZERO, ZERO)
let a75 = natmul (ZERO, SUCC (SUCC (SUCC ZERO)))
let a76 = natmul (SUCC (SUCC (SUCC (SUCC ZERO))), SUCC (SUCC (SUCC ZERO)))
(* ex8 *)
let a81 = checkMetro (AREA("a", STATION "a"))
let a82 = checkMetro (AREA("a", AREA("a", STATION "a")))
let a83 = checkMetro (AREA("a", AREA("b", CONNECT(STATION "a", STATION "b"))))
let a84 = checkMetro (AREA("a", CONNECT(STATION "a", AREA("b", STATION "a"))))
let a85 = checkMetro (AREA("a", STATION "b"))
let a86 = checkMetro (AREA("a", CONNECT(STATION "a", AREA("b", STATION "c"))))
let a87 = checkMetro (AREA("a", AREA("b", CONNECT(STATION "a", STATION "c"))))
(* ex9 *)
let loc1 = LOC (NODE [NODE [LEAF "a"; LEAF "*"; LEAF "b"];
LEAF "+";
NODE [LEAF "c"; LEAF "*"; LEAF "d"]],
TOP)
let (|>) g f = f g
let a91 = loc1 |> goDown
let a92 = loc1 |> goDown |> goDown
let a93 = loc1 |> goDown |> goUp |> goDown
let a94 = loc1 |> goDown |> goDown |> goRight
let a95 = loc1 |> goDown |> goDown |> goRight |> goLeft |> goRight |> goRight
let a96 = loc1 |> goDown |> goRight |> goRight |> goDown |> goRight
let a97 =
try (loc1 |> goUp |> ignore); false with NOMOVE _ -> true
|
9번은 LEAF 타입이 겹치므로 따로 하셔야 할겁니다.
다른분들도 만드신거 있으면 올려주세요 |
|
위로 |
|
 |
윤형석
가입: 2012년 9월 5일 올린 글: 26
|
올려짐: 2012년9월13일 16:52 주제: |
|
|
저는
코드: | val a11 : int list = [7; 5; 4; 3; 2; 1]
val a12 : 'a list = []
val a13 : int list = [9; 2]
val a14 : int list = [7; 3]
val a15 : int list = [5; 5; 4; 4; 3; 3]
val a16 : int list = [8; 6; 5; 4; 3; 2; 1; 0]
val a21 : int = 6
val a22 : int = 3
val a23 : int = 294
val a24 : int = 0
val a31 : int = 6
val a32 : int = 4
val a33 : int = 16383
val a41 : float = 24.
val a42 : float = 4573689120.
val a43 : float = 2.50655929722394522e+18
val a51 : string = "Italy"
val a52 : string = "Argentina"
val a53 : string = "((Korea Portugal) Brazil)"
val a54 : string = "(Norway ((Cameroon Poland) Sweden))"
val a61 : bool = true
val a62 : bool = false
val a63 : bool = false
val a64 : bool = false
val a65 : bool = true
val a66 : bool = false
val a71 : nat = SUCC ZERO
val a72 : nat = ZERO
val a73 : nat = SUCC (SUCC (SUCC ZERO))
val a74 : nat = ZERO
val a75 : nat = ZERO
val a76 : nat =
SUCC
(SUCC
(SUCC
(SUCC (SUCC (SUCC (SUCC (SUCC (SUCC (SUCC (SUCC (SUCC ZERO)))))))))))
val a81 : bool = true
val a82 : bool = true
val a83 : bool = true
val a84 : bool = true
val a85 : bool = false
val a86 : bool = false
val a87 : bool = false
val a91 : location =
LOC (NODE [LEAF "a"; LEAF "*"; LEAF "b"],
HAND ([], TOP, [LEAF "+"; NODE [LEAF "c"; LEAF "*"; LEAF "d"]]))
val a92 : location =
LOC (LEAF "a",
HAND ([], HAND ([], TOP, [LEAF "+"; NODE [LEAF "c"; LEAF "*"; LEAF "d"]]),
[LEAF "*"; LEAF "b"]))
val a93 : location =
LOC (NODE [LEAF "a"; LEAF "*"; LEAF "b"],
HAND ([], TOP, [LEAF "+"; NODE [LEAF "c"; LEAF "*"; LEAF "d"]]))
val a94 : location =
LOC (LEAF "*",
HAND ([LEAF "a"],
HAND ([], TOP, [LEAF "+"; NODE [LEAF "c"; LEAF "*"; LEAF "d"]]),
[LEAF "b"]))
val a95 : location =
LOC (LEAF "b",
HAND ([LEAF "*"; LEAF "a"],
HAND ([], TOP, [LEAF "+"; NODE [LEAF "c"; LEAF "*"; LEAF "d"]]),
[]))
val a96 : location =
LOC (LEAF "*",
HAND ([LEAF "c"],
HAND ([LEAF "+"; NODE [LEAF "a"; LEAF "*"; LEAF "b"]], TOP, []),
[LEAF "d"]))
val a97 : bool = true
|
처럼 나오네요..
혹시 다른분들은 어떻게 나오는지 알려주세요~ |
|
위로 |
|
 |
구본헌
가입: 2012년 9월 5일 올린 글: 15
|
올려짐: 2012년9월14일 12:48 주제: |
|
|
저도 같은 결과 나오네요.
테스트셋 올려주신 조교님 감사합니다. |
|
위로 |
|
 |
이현준
가입: 2012년 9월 14일 올린 글: 3
|
올려짐: 2012년9월14일 13:28 주제: |
|
|
위의 조교님이 제공해주신 테스트케이스와 윤형석님의 결과 데이터를 이용해서 테스트 코드를 만들었습니다.
http://guswns0528.snucse.org/ex1test.zip
위 파일을 받아서 소스 코드가 있는 곳에 압축 파일을 풀어주세요
그리고 test1_?.ml 파일을 열어서 ex1_?.ml을 작성하신 소스 파일이름으로 고친 후에
ocaml test1_?.ml 형식으로 실행하면 성공한 case는 success, 실패한 case는 fail을 출력하게 됩니다.
데이터가 이상한 경우에는 guswns0528@gmail.com 으로 메일을 보내주세요 |
|
위로 |
|
 |
|
|
새로운 주제를 올릴 수 없습니다 답글을 올릴 수 없습니다 주제를 수정할 수 없습니다 올린 글을 삭제할 수 없습니다 투표를 할 수 없습니다
|
Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group Translated by kss & drssay
|