책 내용 질문하기
질문입니다
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
120
조회수
159
작성일
2019-10-08
작성자
탈퇴*원

문제 20번과 34번 질문입니다

 

두개가 코드 구성은 같은데

 

20번은 반복횟수 10번째의 값인 a=9 hap=45가 아닌 반복문을 탈출한 a=10 hap=55가 출력되었는데

 

왜 34번은 탈출한값 a=6 hap=20이 아닌 a=5 hap=14가 출력되었나요.?

 

그리고 12번과 20번은 어떤 차이가 있나요?

답변
2019-10-10 10:38:44

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

 

for문의 각 식의 기본 순서를 기억해두세요.

 

for(①; ②; ③) {

   ④;

}

 

위의 for문이 ④를 3회 반복한다고 가정했을 때, 순서는

1회 : ①, ②(조건 참), ④

2회 : ③, ②(조건 참), ④

3회 : ③, ②(조건 참), ④

4회 : ③, ②(조건 거짓) <탈출>

입니다.

 

20번의 경우 ④에 해당하는 실행할 코드가 존재하지 않고 ③에 해당하는 증가식에서 hap을 계산하게됩니다. 그리고 for문이 종료된 이후에 값을 출력하도록 하고 있죠. 위의 순서대로 코드를 진행하게 되면 최종적으로 hap은 1부터 9의 값이 아닌 1부터 10의 값을 저장하게 된 결과를 출력하게 됩니다.

 

반면 34번의 경우 ④에 해당하는 실행할 코드의 위치에 출력문이 존재합니다. 이 경우 i나 hap이 가지는 최종값이 아닌 i를 1~5까지만 수행한 값만을 출력하게 됩니다. 만약 동일한 결과를 만들고 싶다면 for문 외부에 출력문이 하나 더 존재해야 하죠. 이 때는 i를 1~6까지 수행한 결과가 나오게 되겠죠.

 

행복한 하루되세요 :)

  • 관리자
    2019-10-10 10:38:44

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

     

    for문의 각 식의 기본 순서를 기억해두세요.

     

    for(①; ②; ③) {

       ④;

    }

     

    위의 for문이 ④를 3회 반복한다고 가정했을 때, 순서는

    1회 : ①, ②(조건 참), ④

    2회 : ③, ②(조건 참), ④

    3회 : ③, ②(조건 참), ④

    4회 : ③, ②(조건 거짓) <탈출>

    입니다.

     

    20번의 경우 ④에 해당하는 실행할 코드가 존재하지 않고 ③에 해당하는 증가식에서 hap을 계산하게됩니다. 그리고 for문이 종료된 이후에 값을 출력하도록 하고 있죠. 위의 순서대로 코드를 진행하게 되면 최종적으로 hap은 1부터 9의 값이 아닌 1부터 10의 값을 저장하게 된 결과를 출력하게 됩니다.

     

    반면 34번의 경우 ④에 해당하는 실행할 코드의 위치에 출력문이 존재합니다. 이 경우 i나 hap이 가지는 최종값이 아닌 i를 1~5까지만 수행한 값만을 출력하게 됩니다. 만약 동일한 결과를 만들고 싶다면 for문 외부에 출력문이 하나 더 존재해야 하죠. 이 때는 i를 1~6까지 수행한 결과가 나오게 되겠죠.

     

    행복한 하루되세요 :)

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