| 이전 주제 보기 :: 다음 주제 보기 |
| 글쓴이 |
메시지 |
박준호
가입: 2012년 9월 15일 올린 글: 71
|
올려짐: 2012년10월25일 23:05 주제: 과제 5-3 테이프 이동 질문입니다 |
|
|
테이프의 이동방향과 헤더의 이동방향이 다르다고 하셨잖아요.
테이프가 고정 - 헤더가 이동
에서 헤더의 좌 / 우 이동에 대응되는것이
테이프가 이동 - 헤더가 고정
에서 테이프가 우 / 좌 로 이동하는거잖아요.
이문제에서는 헤더가 이동하지 않으니 테이프가 이동하는걸로 구현하게 되어있는데요,
그럼 move가 right / left일때만 대응되는 테이프 left / right 함수를 이용하기만 하면 되죠?? 실제로 데이터상에서 tape가 가지는 symbol list들을 움직이는것보다 내부적으로 헤더같은걸 만들어서 하는게 나을거같아서 그렇게 했거든요...
혹시 함수단위로 테스트를 돌리시나 해서 물어봅니다 ㅠㅠ |
|
| 위로 |
|
 |
박준호
가입: 2012년 9월 15일 올린 글: 71
|
올려짐: 2012년10월25일 23:15 주제: 그리고 튜링머신 출력 |
|
|
| print-tm은 튜링머신의 최종 tape를 출력하나요? |
|
| 위로 |
|
 |
박준호
가입: 2012년 9월 15일 올린 글: 71
|
올려짐: 2012년10월26일 5:28 주제: 테스트하실때 어떻게 하시나요??? |
|
|
제가 tape와 ruletable을 오늘 실습한걸 써먹는답시고 물건중심으로 짜서....
어차피 ruletable은 tm 돌릴때야 고정될거고, 돌리는 중간에 바뀌지않으니 상관없는데
tape가..tape가...문제입니다
한번 run 하고나면 최종상태로 테이프값이 바뀌어버려서 어차피 run만 하면 최종상태니까 바로 끝나기때문에 출력자체는 변함이 없지만
run 하고나서 강제로 (step-tm tm) 하면...원래는 시작부터 한칸 가야하잖아요
근데 전 물건중심이라서 이전에 run한 결과의 테이프가 인풋으로 들어가져서 그냥 바로 마지막에서 강제실행하는걸로 되어버려서 오류가떠요.....tape를 다시 짜야 할까요?? ㅠㅠ
테스트셋을 보면 첨에 define으로 하시고 나중엔 그대로 set으로 하시잖아요
두번째 테스트셋 첫set!을 define이용하면 두번째 잘 나오고 첫번째 잘 나오는데
두개 같이 돌리면 두번째거가 잘 안나오네요 ㅠ
어차피 함수를 '연속적으로 사용가능하게' 만들라는 말은 없었으니 괜찮을까요? |
|
| 위로 |
|
 |
강동옥
가입: 2009년 9월 18일 올린 글: 602
|
올려짐: 2012년10월26일 22:04 주제: |
|
|
답변이 늦어서 죄송합니다.
일단 테스트는 함수별로 골고루 할 예정입니다.
read-tape으로 심볼을 찍어서 검사해보기도 할 것이고, print-tape으로 전체를 찍어볼 수도 있습니다.
print-tm은 tape를 출력해주시면 됩니다.
그리고 tm의 경우에는 끝난 tm을 괜히 한번더 실행해 보지는 않겠습니다. 의미가 없기 때문입니다.
tape에 대해 말씀하신 부분 고민해보겠습니다. 문제에 본질적인게 아닌거 같은데 그렇게 판단되면 테스트케이스에 tape 이름을 달리 해서 검사하도록 하겠습니다. |
|
| 위로 |
|
 |
|