책 내용 질문하기
정보처리기사 실기 1권 76쪽 4번문제
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
76
조회수
143
작성일
2018-08-31
작성자
탈퇴*원
첨부파일
정보처리기사 실기 1권 76쪽 4번문제 답이 12이라고 나와있는데 해설을 봐도 이해가 안가요ㅠㅠ 해설의 디버깅에서는 i가 9일때 hap가 7이라고 나와있는데요 i가 9면 3으로 나눈 나머지가 0이기 때문에 hap+= i를 수행하지 않고 while문 처음으로 가야하는거 아닌가요? 어떻게 해서 i=9일때 hap값이 7이 나오게 된것인지 궁금합니다. i가 8, 7일때의 hap값에 대해서도 설명해주시면 감사하겠습니다!
답변
2018-08-31 10:30:11

안녕하세요. 길벗 수험서 운영팀입니다.

해설에 수록된 디버깅 표는 각 변수의 값 변화가 있을 때마다 중간에 공백 없이 값을 기록한 것이므로 각 변수의 가로 위치를 서로 맞춰가며 이해하기 어렵습니다. 이는 실제 시험에서 시험지 하단의 좁은 공간을 이용해 디버깅을 해야 하는 것에 대비한 것입니다. 이점 염두에 두고 디버깅을 표를 확인하세요. (단 종종 반복문처럼 반복 변수를 기준으로 값 변화를 구분해서 이해해야 할 경우에는 반복 변수의 값 변화에 따라 가로 위치를 구분한 경우도 있으니 참고하세요.)

참고로 회원님이 문의하신 것처럼 각 변수의 가로 위치를 맞춰 디버깅을 수행하면 다음과 같습니다.

i

hap

출력

10

9

8

7

6

5

4

3

2

1

0

7

11

12

12

교재 475p 정답의 코드를 기준으로 설명 드리겠습니다.

1. i가 8이 되어 ①로 돌아왔을 때 while문의 조건이 참이므로 ③번을 수행합니다. (i=8-1)

2. ④번 if문의 조건(7%3==1)이 참이므로 ⑤번을 수행합니다. (hap=0+7)

3. 이후 i가 ③번을 수행한 값이 4 또는 1이 되었을 때(조건(i%3==1)이 참인 경우), ⑤번을 수행하여 ⑦번에서 출력되는 값은 7 + 4 + 1인 12가 됩니다.

행복한 하루되세요.^^

  • *
    2018-08-31 10:30:11

    안녕하세요. 길벗 수험서 운영팀입니다.

    해설에 수록된 디버깅 표는 각 변수의 값 변화가 있을 때마다 중간에 공백 없이 값을 기록한 것이므로 각 변수의 가로 위치를 서로 맞춰가며 이해하기 어렵습니다. 이는 실제 시험에서 시험지 하단의 좁은 공간을 이용해 디버깅을 해야 하는 것에 대비한 것입니다. 이점 염두에 두고 디버깅을 표를 확인하세요. (단 종종 반복문처럼 반복 변수를 기준으로 값 변화를 구분해서 이해해야 할 경우에는 반복 변수의 값 변화에 따라 가로 위치를 구분한 경우도 있으니 참고하세요.)

    참고로 회원님이 문의하신 것처럼 각 변수의 가로 위치를 맞춰 디버깅을 수행하면 다음과 같습니다.

    i

    hap

    출력

    10

    9

    8

    7

    6

    5

    4

    3

    2

    1

    0

    7

    11

    12

    12

    교재 475p 정답의 코드를 기준으로 설명 드리겠습니다.

    1. i가 8이 되어 ①로 돌아왔을 때 while문의 조건이 참이므로 ③번을 수행합니다. (i=8-1)

    2. ④번 if문의 조건(7%3==1)이 참이므로 ⑤번을 수행합니다. (hap=0+7)

    3. 이후 i가 ③번을 수행한 값이 4 또는 1이 되었을 때(조건(i%3==1)이 참인 경우), ⑤번을 수행하여 ⑦번에서 출력되는 값은 7 + 4 + 1인 12가 됩니다.

    행복한 하루되세요.^^

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