책 내용 질문하기
581 예제
도서
2020 시나공 정보처리기사 필기 : NCS 기반 전면 개편 [기본서]
페이지
581
조회수
279
작성일
2020-03-10
작성자
탈퇴*원
예제 while조건문 안에 a가 5보다 작은동안 반복인데 정답과 결과 그리고 해설은 5 까지 포함해서 푸는데 오타인가요? 아니면 제가 이해를 잘못하고있는건가요? 이해를 잘못하고있다면 설명해주시고 오타이면 오타라고 말씀해주세요.
답변
2020-03-10 10:55:19

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

 

a값의 변화하는 위치와 while(a<5) 조건을 검사하는 위치를 정확히 파악하고 값의 변화를 순서대로 따라가보세요.

 

(예제의 코드 번호 기준)

3번을 수행해서 a가 4가 되었을 때,

4번을 수행하면 hap은 10이 됩니다.

5번에서 1번으로 돌아가 a<5를 검사하게 되면 a는 4이므로 내부 코드를 더 수행해야 합니다.

3번을 수행해서 a는 5가 되고,

4번을 수행해서 hap은 10이 됩니다.

다시 1번으로 돌아가 a<5를 검사하게 되면 이때 a가 5가 되었으므로 내부 코드를 수행하지 않고 6번으로 가게 됩니다.

 

즉, a<5를 검사하는 시점에 a는 4이지만 내부 코드를 수행할 시 a가 5가 되어 hap에 합산되므로, 이와 같은 결과가 나오는 것입니다.

 

행복한 하루되세요 :)

  • 관리자
    2020-03-10 10:55:19

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

     

    a값의 변화하는 위치와 while(a<5) 조건을 검사하는 위치를 정확히 파악하고 값의 변화를 순서대로 따라가보세요.

     

    (예제의 코드 번호 기준)

    3번을 수행해서 a가 4가 되었을 때,

    4번을 수행하면 hap은 10이 됩니다.

    5번에서 1번으로 돌아가 a<5를 검사하게 되면 a는 4이므로 내부 코드를 더 수행해야 합니다.

    3번을 수행해서 a는 5가 되고,

    4번을 수행해서 hap은 10이 됩니다.

    다시 1번으로 돌아가 a<5를 검사하게 되면 이때 a가 5가 되었으므로 내부 코드를 수행하지 않고 6번으로 가게 됩니다.

     

    즉, a<5를 검사하는 시점에 a는 4이지만 내부 코드를 수행할 시 a가 5가 되어 hap에 합산되므로, 이와 같은 결과가 나오는 것입니다.

     

    행복한 하루되세요 :)

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