 |
|
이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
정지홍
가입: 2014년 9월 11일 올린 글: 37
|
올려짐: 2014년12월19일 18:51 주제: check cmd 질문 |
|
|
1)만약 cmd 프로그램 중
변수의 선언부를 실행하지 않고 변수를 사용하게 될 경우는 어떻게 해야하나요?
예를 들어
x has 1;
goto L on x;
y has 2;
L : z has x-y;
say z
위와 같은 프로그램의 경우, y의 정의를 실행하다보면 뛰어넘게 되어서 오류가 나게 됩니다. 하지만 check_cmd가 이를 거를 수 있어야 하나요? 아니면,
https://ropas.snu.ac.kr/phpbb/viewtopic.php?t=4781
이 글에서 인용한 문구
인용: | https://ropas.snu.ac.kr/phpbb/viewtopic.php?t=4180 에서도 이야기했지만 "실행이 되는지 아닌지"를 분석하는 것은 문제의 난이도를 급상승시킵니다. 실행되지 않는 goto문에 딸린 tag라고 해서 true를 리턴하는 것이 더 좋은 답변이지만, 이러한 경우에 false를 리턴하여도 옳다고 채점할 예정입니다. |
와 마찬가지로 실행 여부를 논하지 않고, free variable만 잡아내면 되나요?
2) 또한
x has 1;
y has 0;
goto L on x;
Z : k has k-x;
say k;
L : z has x-y;
k has 3;
goto Z on z
위 프로그램은 k를 코드상에서는 마지막에서 두 번째 줄에서 선언하지만,
실행과정을 보면 처음 -> L -> Z로 가게 되어 실행에는 문제가 없게 됩니다.
이경우 check cmd도 코드를 실행 순서대로 추적해서 true를 리턴해줘야하나요?
단순히 코드만 살펴서 변수가 선언되기 앞서 쓰인다고 판정을 내리면 false가 되겠지만요. |
|
위로 |
|
 |
김윤승
가입: 2014년 9월 1일 올린 글: 452 위치: 302동 312-2호
|
올려짐: 2014년12월19일 22:13 주제: |
|
|
1)의 경우는 잡아야 합니다. 문제의 의도가 저런 것을 잡는 것입니다.
실행 여부를 분석한다는 뜻은, 반대로 변수가 정의가 안 된 채로 사용되지만 그 명령 자체가 실행이 안 될 때는 true이지만 굳이 true를 리턴할 필요는 없다는 뜻입니다.
즉, 2)같은 경우에는 false를 리턴해도 된다는 뜻입니다.
어떤 실행에서도 잘못될 가능성이 있다면 무조건 false를 리턴해야 합니다. |
|
위로 |
|
 |
|
|
새로운 주제를 올릴 수 없습니다 답글을 올릴 수 없습니다 주제를 수정할 수 없습니다 올린 글을 삭제할 수 없습니다 투표를 할 수 없습니다
|
Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group Translated by kss & drssay
|