게시판 인덱스

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

숙제 1 테스트셋

 
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2012)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
이승중



가입: 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 으로 메일을 보내주세요
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2012) 시간대: GMT + 9 시간(한국)
페이지 11

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


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