게시판 인덱스

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

프로젝트3 check_cmd 테스트셋

 
글 쓰기   답변 달기     게시판 인덱스 -> 4190.210 Principles of Programming (Fall 2012)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
강동옥



가입: 2009년 9월 18일
올린 글: 602

올리기올려짐: 2012년12월19일 9:10    주제: 프로젝트3 check_cmd 테스트셋 인용과 함께 답변

==(12/20)어제인가 두개 올려드렸는데 혹시 못보신분 있을까봐 공지로 올립니다.
==두가지 예를 더 추가했습니다.
==아래같은 어려운 케이스만 검사하겠다는 것이 아니라 챌린지한 케이스 몇개를 보여드린 것입니다.

프로젝트 하시는데 도움이 되도록 몇가지 테스트케이스를 드리겠습니다.

여러분도 테스트케이스를 공유하며 서로 도전을 주었으면 좋겠습니다.

아래는 실재 실행해보면 unbound variable로 인해 에러가 나지 않는 프로그램들입니다.
아래정도를 처리할수 있다면 프로젝트3을 잘 진행한 것입니다.
(쉬운 테스트도 여러개 할것이니 아래를 처리하지 못한다고 좌절하지는 않아도 됩니다.)
코드:

(*분석은 유한시간이어야함, true*)
    x has read ;
lp: say x;
    goto lp on x;
    say x




코드:

(* pruning example, true*)                                                                                                                                                                   
    zx has read ;                                                                                                                                                                     
    x2 has zx ;
    goto x6 on x2 ;                                                                                                                                                                               
    z has 2 ;   (* attention : z *)                                                                                                                                                     
    x4 has z ;
    x1 has x4 ;                                                                                                                                                                                   
    x5 has 1 ;                                                                                                                                                                                   
    goto x7 on x5 ;
x6: y has 1 ;                                                                                                                                                                                     
    goto l on x2 ;                                                                                                                                                                           
x7: x1 has x1 ;
    y has z ;                                                                                                                                                                                 
l:  y1 has 1 ;                                                                                                                                                                                   
    y has y+y1 ;
    say y


두가지를 짬뽕한 예제에 대해서도 잘 처리한다면 이 프로젝트에서는 최상입니다.

아래는 새로운 케이스 추가
코드:
(*분석은 유한시간이어야함, true*)
    x has read ;
    t has 101;
    y has x+t;
lp: say y;
    s has 1;
    y has y+s;
    goto lp on y;
    x has z+w;
    say x


코드:
(*분석은 유한시간이어야함, false*)
    x has read ;
    t has 1000000000;
    y has x-t;
lp: say y;
    s has 1;
    y has y+s;
    goto lp on y;
    x has z+w;
    say x


강동옥 가 2012년12월22일 10:08에 수정함, 총 5 번 수정됨
위로
사용자 정보 보기 비밀 메시지 보내기
천세린



가입: 2012년 9월 17일
올린 글: 14

올리기올려짐: 2012년12월19일 11:26    주제: 인용과 함께 답변

이 예시의 명령문들을 Seq를 어떻게 써서 묶어줘야 하나요?
위로
사용자 정보 보기 비밀 메시지 보내기
강동옥



가입: 2009년 9월 18일
올린 글: 602

올리기올려짐: 2012년12월19일 11:27    주제: 인용과 함께 답변

Seq를 어떻게 묶는지는 상관 없습니다.

세미콜론에 대해 right associative로 묶든 left associative로 묶든
실행순서에 영향을 주지 않습니다.

단지 메모리 사용량이 달라질수는 있겠지요.


강동옥 가 2012년12월19일 11:31에 수정함, 총 2 번 수정됨
위로
사용자 정보 보기 비밀 메시지 보내기
천세린



가입: 2012년 9월 17일
올린 글: 14

올리기올려짐: 2012년12월19일 11:30    주제: 인용과 함께 답변

그럼

여기에 대해서

Seq (x has read ,Seq (lp: say x, Seq (goto lp on x, say x)))이나

Seq (Seq (x has read,lp:say x), Seq (goto lp on x, say x))이

둘 다 허용되나요?
위로
사용자 정보 보기 비밀 메시지 보내기
강동옥



가입: 2009년 9월 18일
올린 글: 602

올리기올려짐: 2012년12월19일 11:30    주제: 인용과 함께 답변

예 모두 상관 없습니다.
위로
사용자 정보 보기 비밀 메시지 보내기
강동옥



가입: 2009년 9월 18일
올린 글: 602

올리기올려짐: 2012년12월19일 11:33    주제: 인용과 함께 답변

제공해드린 인터프리터 사용해보면 모두 동일한 실행을 하는것을 알 수 있을것입니다.
위로
사용자 정보 보기 비밀 메시지 보내기
구해모



가입: 2011년 3월 9일
올린 글: 7

올리기올려짐: 2012년12월21일 3:17    주제: Re: 프로젝트3 check_cmd 테스트셋 인용과 함께 답변

코드:

(*분석은 유한시간이어야함, true*)
    x has read ;
lp: say x;
    goto lp on x;
    say x

위에 올려주신 코드의 경우 x(즉, 입력)의 값이 0이 아닐 경우
무한 루프로 빠지는 것이 아닌가 하는데요.
이럴 때도 문제가 없다고 판단하는 건가요?
위로
사용자 정보 보기 비밀 메시지 보내기
강동옥



가입: 2009년 9월 18일
올린 글: 602

올리기올려짐: 2012년12월21일 7:12    주제: 인용과 함께 답변

네 무한루프가
저장하지 않은 변수를 접근하거나
중복된 레이블에 점프하는것은 아니니까요.

(데몬 프로그램이 정상프로그램인것과 같습니다.)
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4190.210 Principles of Programming (Fall 2012) 시간대: GMT + 9 시간(한국)
페이지 11

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


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