게시판 인덱스

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

프로젝트 2 질문입니다.

 
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4541.664A Program Analysis (Spring 2010)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
이승중



가입: 2010년 6월 22일
올린 글: 561

올리기올려짐: 2010년6월22일 17:12    주제: 프로젝트 2 질문입니다. 인용과 함께 답변

다빈치 변수인지 판별할 때
도달 불가능한 곳에서 xp가 어떤 값을 갖는 지 여부도 검사해야 하나요

코드:
xp := 415;

if (false)
   (xp := xp + 2)
   (xp := xp + 1867)


코드:

c:=0;
while(true)
   c := c + 1;

xp := 415;


두번째 코드에서 xp가 실행흐름은 비록 도달 못하지만
전 구간이 bot 메모리인 상태에서 시작한다고 생각하고 요약 실행하면
xp:=415를 끝에서 갖게 되니 다빈치 변수라고 말할 수 있을 거고요

그렇게 되면 첫번째 코드는 if의 첫번째 statement에서 xp에 415가 아닌 값이 생성되게 되니 xp가 다빈치 변수가 아니게 될텐데요..


반대로 첫번째 코드에서 xp가 다빈치 변수가 맞다고 하면
두번째 코드에서 xp는 다빈치 변수가 아닐거고요..

어떤것이 정확한 결과인지를 알려주셨으면 합니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이우석



가입: 2007년 9월 26일
올린 글: 72

올리기올려짐: 2010년6월22일 17:34    주제: 인용과 함께 답변

코드:

xp := 415;

if (false)
   (xp := xp + 2)
   (xp := xp + 1867)

이 코드에서 다빈치 코드가 나오면 정답, 정확한 가지치기(pruning)으로 인해 나오지 않으면 그것도 정답이고, 거기에 가산점을 더 드립니다.

코드:

c:=0;
while(true)
   c := c + 1;

xp := 415;

이 코드에서 다빈치 코드가 나오면 정답, 정확한 가지치기로 인해 나오지 않으면 그것또한 정답이며 가산점도 더 드립니다.

즉, 가지치기가 부정확하다고 감점하지는 않습니다. 하지만 가지치기가 정확하면 가산점을 드리겠습니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4541.664A Program Analysis (Spring 2010) 시간대: GMT + 9 시간(한국)
페이지 11

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


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