책 내용 질문하기
알고리즘 - 수열
도서
2016 시나공 정보처리기사 실기
페이지
46
조회수
159
작성일
2016-04-13
작성자
첨부파일

수열 섹션을 전체 커버했는데 디버깅에서의 과정 값이 제가 생각한 것과 다른 게 있어 문의합니다.

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

...

디버깅 부분에서 반올림 등으로 인해 값이 완전히 일치하지 않아도 된다는 것에는 이견이 없는데

이처럼 완전하게 다를 경우 혼돈이 와서요.

답변 바랍니다.

답변
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으로 확인한 것입니다.

오늘도 즐거운 하루 되세요

  • *
    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으로 확인한 것입니다.

    오늘도 즐거운 하루 되세요

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.