게시판 인덱스

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

(수정) 숙제 7-2 테스트셋

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



가입: 2011년 9월 26일
올린 글: 39

올리기올려짐: 2011년11월18일 23:06    주제: (수정) 숙제 7-2 테스트셋 인용과 함께 답변

(* 제가 잘못 짜서 11번이 문제가 있었네요. 수정했습니다
또 문제가 있으면 알려주세요.
11번의 오류를 지적해주신 김태훈 학우님 감사합니다 Smile *)

예전에 숙제 5-3의 테스트셋으로 올라왔던

작년 조교님의 테스트셋과

김찬민님의 테스트셋을 변형해보았습니다..

혹시 문제 있으면 지적해주세요!

사용방법은 ocaml 실행후

7-2의 파일을 open한 후

다음의 코드를 붙여 넣으면 됩니다.

참고로 pprint는 liquid -> unit이라 어떻게 테스트해야 할지를 모르겠네요..

혹시 아시는 분 있으면 어떻게 테스트할지 가르쳐주세요^^;

코드:
open SkiLiquid

let a l1 l2 = M (l1, l2)
let v str = V str

let makeI e =
M (I, e)

let makeK e1 e2 =
M (M (K, e1),e2)

let makeS e1 e2 e3 =
M (M (M (S, e1), e2), e3)

let sol1 = makeI (V "Alice")

let sol2 = makeK I S

let sol3 = makeS (V "how") (V "you") (V "do")

let sol_13 = M (sol1,sol3)


let _ =
print_string (if react S = S then "#1 : success" else "#1 : fail");
print_newline();
print_string (if react K = K then "#2 : success" else "#2 : fail");
print_newline();
print_string (if react I = I then "#3 : success" else "#3 : fail");
print_newline();
print_string (if react (M (S,I)) = M (S,I) then "#4 : success" else
"#4 : fail");
print_newline();
print_string (if react sol2 = I then "#5 : success" else "#5 : fail");
print_newline();
print_string (if react sol_13 = M (V "Alice", M (M (V "how", V "do"),
M (V "you", V "do"))) then "#6 : success" else "#6 : fail");
print_newline();
print_string (if react (M (M (M (I, (M (M (S,K), S))), (M (M ((V "1"),K), (M (M (I,I),K))))), (M (S, (V "2"))))) = M (M (M (V "1", K), K), M (S, V "2")) then "#7 : success" else "#7 : fail");
print_newline();
print_string (if (react (a (a (v "3") (a (a (a (a (a (a I K) (a K I)) (a K (a K K))) S) (v "4")) S)) (a (a (a (a (a S I) (a (a K (v "5")) (a K S))) (a (a I I) S)) (a S I)) (a (a (a (a (a K I) I) (a (a (v "6") (a (v "7") (v "8"))) (a K (v "9")))) (a (a (a I K) S) (v "10"))) (a (a I (a (a (a (v "11") (v "12")) (v "13")) (v "14"))) (a S (a (a (a I K) S) (a K S)))))))) = M (M (V "3", M (V "4", S)), M (M (M (V "5", S), M (M (M (M (V "6", M (V "7", V "8")), M (K, V "9")), S), M (M (M (M (V "11", V "12"), V "13"), V "14"), M (S, S)))), M (M (S, I), M (M (M (M (V "6", M (V "7", V "8")), M (K, V "9")), S), M (M (M (M (V "11", V "12"), V "13"), V "14"), M (S, S)))))) then "#8 : success" else "#8 : fail");
print_newline();

print_string (if (react (a (a (a I S) (a K S)) (a (v "15") (a K K))))
= M (M (S, M (K, S)), M (V "15", M (K, K))) then "#9 : success" else "#9 : fail");
print_newline();
print_string (if (react (v "16")) = v "16" then "#10 : success" else "#10 : fail");
print_newline();
print_string (if (react (a (a (a S S) (a K (a S (a (a S K) S)))) (a K (a (a (a S (a S K)) (a I (a S S))) S)))) = M (M (S, M (K, M (M (S, S), S))), M (S, M (M (S, K), S))) then "#11 : success" else "#11 : fail");
print_newline();
print_string (if (react (a (a (a (a (a S I) (a (a (v "17") (a K S)) (a (a S (v "18")) (v "19")))) (a (a (a (a S K) (a I I)) (a (a (v "20") S) (a I I))) (a (a S (v "21")) (a (a (v "22") K) K)))) (a (a (a (v "23") (a (a K S) (a K (v "24")))) (a (a S K) S)) (a (a (a (a S (v "25")) (a K K)) (a I K)) (a K (a (a (v "26") I) (a K S)))))) (a (a (a (v "27") K) (a I (a (a S K) (a (a (v "28") I) (a I S))))) (a (a (a I (a (a S I) (a (v "29") (v "30")))) (a (v "31") (a I (a (v "32") (v "33"))))) (a (a (a (a K I) (v "34")) I) (a (a I (v "35")) (a (v "36") I))))))) =
M (M (M (M (M (M (V "20", S), I), M (M (S, V "21"), M (M (V "22", K), K))), M (M (M (V "17", M (K, S)), M (M (S, V "18"), V "19")), M (M (M (V "20", S), I), M (M (S, V "21"), M (M (V "22", K), K))))), M (M (M (V "23", S), M (M (S, K), S)), M (M (M (V "25", K), K), M (K, M (M (V "26", I), M (K, S)))))), M (M (M (V "27", K), M (M (S, K), M (M (V "28", I), S))), M (M (M (V "31", M (V "32", V "33")), M (M (V "29", V "30"), M (V "31", M (V "32", V "33")))), M (V "35", M (V "36", I))))) then "#12 : success" else "#12 : fail");
print_newline(); ;;
위로
사용자 정보 보기 비밀 메시지 보내기
김태훈10



가입: 2011년 10월 15일
올린 글: 21

올리기올려짐: 2011년11월18일 23:51    주제: 인용과 함께 답변

올ㅋ 감사합니다 송학우님.
위로
사용자 정보 보기 비밀 메시지 보내기
엄태건



가입: 2011년 9월 27일
올린 글: 50

올리기올려짐: 2011년11월19일 1:05    주제: 인용과 함께 답변

좋아요 Smile
위로
사용자 정보 보기 비밀 메시지 보내기 AIM 주소
두민해



가입: 2011년 3월 10일
올린 글: 11

올리기올려짐: 2011년11월23일 14:52    주제: 인용과 함께 답변

전부다 Success가 나오도록 코딩되어 있는 건가요?
_________________
잘 부탁드립니다.
위로
사용자 정보 보기 비밀 메시지 보내기
hanbit2222



가입: 2011년 9월 19일
올린 글: 12

올리기올려짐: 2011년11월23일 14:58    주제: 옙. 인용과 함께 답변

저는 돌려보니 다 success가 뜹니당~
위로
사용자 정보 보기 비밀 메시지 보내기
유진선



가입: 2011년 10월 5일
올린 글: 25

올리기올려짐: 2011년11월23일 21:01    주제: 감사합니다 인용과 함께 답변

다 success 뜨네요 ^^
위로
사용자 정보 보기 비밀 메시지 보내기
shwlinux



가입: 2011년 9월 26일
올린 글: 39

올리기올려짐: 2011년11월24일 17:54    주제: 인용과 함께 답변

유진선 학우님이 질문한 것에 대한 조교님의 답변에 의하면

react 함수에서 pprint후 리턴해야 하므로

success 가 깔끔하게 쭉 나오는게 아니라

pprint하고 바로 옆에 success뜨고 그런식으로 좀.. 지저분하게 출력이 되어야 맞을 것 같습니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.210 Principles of Programming (Fall 2011) 시간대: GMT + 9 시간(한국)
페이지 11

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


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