게시판 인덱스

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

숙제 7-1 테스트셋

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



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

올리기올려짐: 2011년11월19일 3:26    주제: 숙제 7-1 테스트셋 인용과 함께 답변

예전에 튜링머신과제를 할 때 많은 학우님들께서 수고해주신 테스트셋을 모아보았습니다.

첫번째, 두번째 테스트셋은 김원배학우님의 테스트셋이며

세번째 테스트셋은 항상 멋진 테스트셋을 올려주시는 유강민님의 테스트셋입니다.

그리고 첫번째, 두번째 테스트셋을 Ocaml으로 옮기는 작업은

조인규 학우님이 하셨습니다 Smile

많은 학우님들 감사합니다.


사용방법은 Ocaml 실행후 자신의 파일을 연 뒤 소스를 붙여넣고 바로 엔터 치시면됩니다.

답은

one one one one one
b a a a a a b a b b a a a a a b a b
one one one one one BLANK one one one one one

으로 알고 있습니다.

혹시나 잘못되었다면 정정 부탁드립니다.



코드:

open TuringMachine

let rt =
[("s0", "one", Write "one", Left, "s0");
("s0", "plus", Write "one", Left, "s1");
("s1", "one", Write "one", Left, "s1");
("s1", "BLANK", Erase, Right, "s2");
("s2", "one", Erase, Right, "s3");
("s3", "one", Write "one", Right, "s3");
("s3", "BLANK", Erase, Left, "s4")]

let rt1 =
[("s0", "a", Write "a_1", Left, "s1");
("s0", "b", Write "b_1", Left, "s2");
("s1", "a", Write "a", Left, "s1");
("s1", "b", Write "b", Left, "s1");
("s1", "a_2", Write "a_2", Left, "s1");
("s1", "b_2", Write "b_2", Left, "s1");
("s1", "BLANK", Write "a_2", Right, "s3");
("s2", "a", Write "a", Left, "s2");
("s2", "b", Write "b", Left, "s2");
("s2", "a_2", Write "a_2", Left, "s2");
("s2", "b_2", Write "b_2", Left, "s2");
("s2", "BLANK", Write "b_2", Right, "s3");
("s3", "a_2", Write "a_2", Right, "s3");
("s3", "b_2", Write "b_2", Right, "s3");
("s3", "a", Write "a", Right, "s_noend");
("s3", "b", Write "b", Right, "s_noend");
("s3", "a_1", Write "a_1", Left, "s_semifinal");
("s3", "b_1", Write "b_1", Left, "s_semifinal");
("s_noend", "a", Write "a", Right, "s_noend");
("s_noend", "b", Write "b", Right, "s_noend");
("s_noend", "a_1", Write "a_1", Left, "s0");
("s_noend", "b_1", Write "b_1", Left, "s0");
("s_semifinal", "a_2", Write "a_2", Left, "s_semifinal");
("s_semifinal", "b_2", Write "b_2", Left, "s_semifinal");
("s_semifinal", "BLANK", Erase, Right, "s_ff");
("s_ff", "a_2", Write "a", Right, "s_ff");
("s_ff", "a_1", Write "a", Right, "s_ff");
("s_ff", "b_2", Write "b", Right, "s_ff");
("s_ff", "b_1", Write "b", Right, "s_ff");
("s_ff", "BLANK", Erase, Left, "s_final")]

let rt2 =
[("s1", "BLANK", Erase, Stay, "H");
("s1", "one", Erase, Left, "s2");
("s2", "BLANK", Erase, Left, "s3");
("s2", "one", Write "one", Left, "s2");
("s3", "BLANK", Write "one", Right, "s4");
("s3", "one", Write "one", Left, "s3");
("s4", "BLANK", Erase, Right, "s5");
("s4", "one", Write "one", Right, "s4");
("s5", "BLANK", Write "one", Left, "s1");
("s5", "one", Write "one", Right, "s5")]

let _ =
print_tm (run_tm (make_tm ["one";"one";"one";"plus";"one";"one"] ["s4"] "s0" rt));
print_newline();
print_tm (run_tm (make_tm ["b";"a";"a";"a";"a";"a";"b";"a";"b"] ["s_final"] "s0" rt1));
print_newline();
print_tm (run_tm (make_tm ["one";"one";"one";"one";"one"] ["H"] "s1" rt2));
print_newline();;


shwlinux 가 2011년11월22일 23:13에 수정함, 총 1 번 수정됨
위로
사용자 정보 보기 비밀 메시지 보내기
hanbit2222



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

올리기올려짐: 2011년11월22일 18:33    주제: 음..... 왜 답변이 안달리지; 이거 인용과 함께 답변

수고가 많으십니다~

첫번째 테스트에 final state가 "s4"가 되어야 하는거 ... 아닌가요?
위로
사용자 정보 보기 비밀 메시지 보내기
shwlinux



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

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

s4가 맞네요! 수정할게요
위로
사용자 정보 보기 비밀 메시지 보내기
김인섭



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

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

출력이 run-tm에서 한번 print-tm에서 한번 총 2번씩 되어야 맞는거 아닌가요?




one one one one oneone one one one one
b a a a a a b a b b a a a a a b a bb a a a a a b a b b a a a a a b a b
one one one one one BLANK one one one one oneone one one one one BLANK one one one one one


이렇게 나오네요//
위로
사용자 정보 보기 비밀 메시지 보내기
shwlinux



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

올리기올려짐: 2011년11월24일 17:45    주제: 네 맞습니다. 인용과 함께 답변

조교님께서 이번에도 출력하고 리턴하라는 것을 말씀해 주시기 전에 올린거라서요.

김인섭학우님의 답변처럼 출력되는게 맞겠죠. 감사합니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 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