수열 섹션을 전체 커버했는데 디버깅에서의 과정 값이 제가 생각한 것과 다른 게 있어 문의합니다.
1) 35쪽
MOD(i,2)에서 i가 2일때 답이 0 아닌가요? 그렇다면 MOD(i,2)=0은 YES가 되고요.
Modulus는 몫이 아니라 나머지의 값을 리턴하는 것으로 알고 있는데 (또 그렇게 앞서 설명도 했고요)
막상 디버깅 결과 556쪽에서는 반대로 되어 있어서요.
2) 38쪽
INT(i/2) 역시 위와 비슷합니다. 앞서 설명에서는 정수 값만 리턴한다고 했는데, 그렇다면 i가 1일 땐 0을 리턴하는 게 아닌가요? 그래서 i/2는 0.5로 INT(i/2)=i/2와 다르기에 NO라고 생각했어요.
3) 46쬭
여기서 전 5번이 i<11이라고 생각했어요. 1부터 10까지의 팩토리얼을 구해야하니까 i가 10이 되어야 !10을 구할 수 있지 않나요? 그렇다면 i<11 또는 i<=10일텐데 주어진 부호는 <라 11로 썼거든요. 560쪽 디버깅 결과에서는 10으로 되어 있어 궁금합니다. 또한, 기타 다른 예제에서도 부호와 끝나는 수가 안 맞는 경우가 있다고 여겨졌는데, 예를 들어, 44쪽에서는 단순히 i<19가 아니라 i<=19여야하는 게 아닐까요? 항이 1부터 시작하고 i가 0부터 시작한다면 i가 19번까지 해야 20번 항까지 도달하지 않나요?
4) 49쪽
결과가 완전 달라요. 전 이렇게 했거든요.
A B C HAP CNT
1 1 X 2 2
X X 2 4 3
1 2 3 7 4
2 3 5 12 5
...
디버깅 부분에서 반올림 등으로 인해 값이 완전히 일치하지 않아도 된다는 것에는 이견이 없는데
이처럼 완전하게 다를 경우 혼돈이 와서요.
답변 바랍니다.
안녕하세요.
1, 2, 4)
교재 31쪽의 잠깐만요에 제시된 디버깅 방법과 결과 확인을 참고하세요.
실제 시험장에서는 시험지 여백의 좁은 공간에 디버깅을 수행해야 하므로 가장 효율적인 방법으로 디버깅을 수행해야 합니다.
공간의 최소화하기 위해 각 변수의 가로의 위치는 구분하지 않고 각 변수의 값 변화에만 집중하는 방법으로 디버깅을 하는 것이죠.
그래서 각 변수들의 값들은 빈 공간없이 모두 위에서 아래로 순차적으로 붙여서 작성된 것입니다.
즉 가로의 위치를 맞춰서 기술된 것이 아니기 때문에 K가 4이고, J가 3일 때 MOD(K,J)가 0이라는 의미가 아니라는 것이죠.
디버깅 표를 확인할 때는 각 변수의 변화값만 확인하면 되며, 각 변수의 가로의 위치를 맞추면서 확인할 필요는 없습니다.
물론 가로의 위치까지 맞추면서 디버깅을 하면 다른 사람들이 확인할 때 편하겠지만 너무 많은 공간을 필요로 하게 됩니다.
3)
1 팩토리의 결과는 1입니다. 이 1을 결과 값에 저장하고 시작하는 순서도입니다.
결국 계산할 팩토리 10개 중 1개를 구하고 시작하니 9번만 수행하면 되는 것이죠.
그래서 i < 10으로 확인한 것입니다.
오늘도 즐거운 하루 되세요
-
*2016-04-14 09:47:40
안녕하세요.
1, 2, 4)
교재 31쪽의 잠깐만요에 제시된 디버깅 방법과 결과 확인을 참고하세요.
실제 시험장에서는 시험지 여백의 좁은 공간에 디버깅을 수행해야 하므로 가장 효율적인 방법으로 디버깅을 수행해야 합니다.
공간의 최소화하기 위해 각 변수의 가로의 위치는 구분하지 않고 각 변수의 값 변화에만 집중하는 방법으로 디버깅을 하는 것이죠.
그래서 각 변수들의 값들은 빈 공간없이 모두 위에서 아래로 순차적으로 붙여서 작성된 것입니다.
즉 가로의 위치를 맞춰서 기술된 것이 아니기 때문에 K가 4이고, J가 3일 때 MOD(K,J)가 0이라는 의미가 아니라는 것이죠.
디버깅 표를 확인할 때는 각 변수의 변화값만 확인하면 되며, 각 변수의 가로의 위치를 맞추면서 확인할 필요는 없습니다.
물론 가로의 위치까지 맞추면서 디버깅을 하면 다른 사람들이 확인할 때 편하겠지만 너무 많은 공간을 필요로 하게 됩니다.
3)
1 팩토리의 결과는 1입니다. 이 1을 결과 값에 저장하고 시작하는 순서도입니다.
결국 계산할 팩토리 10개 중 1개를 구하고 시작하니 9번만 수행하면 되는 것이죠.
그래서 i < 10으로 확인한 것입니다.
오늘도 즐거운 하루 되세요