책 내용 질문하기
for문의 산식 초기값 문의
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
71,121
조회수
199
작성일
2019-05-05
작성자
탈퇴*원
첨부파일
hap의 1회차 값이 다른 점 문의드립니다. 대부분 풀이는 for문 1회차때 i가 미지정이거나 0인경우로서 FOR문에서 i=0일땐 hap이 0입니다. (hap이 0으로 초기값이 주어진 상태) 이건 이해가 잘 됩니다만 그런데 121쪽 25번이나 125의 34번은 1회차때 i가 1뢰로시작하는 점만 다른데요. 그렇다면 hap은 i가 1이니 그 결과도 1이어야 하지 않나요?근데 두 문제 다 0이어서 잘 이해가 안됩니다. for(ㅡㅡ,ㅡㅡ,ㅡㅡ,hap+=i)의 식인 경우, 수식 hap을 주어진 초기값으로 먼저 계산하고나서 나머지를 살피는 것인지요? 또한 71페이지와 같이 for(ㅡㅡ,ㅡㅡ,ㅡㅡ) { 합+=i } 와 같은 경우는 디버깅을 보니 i가 1인데도 여기는 합이 1이네요... 바로 윗 문제는 0이더니.... 비슷한 차이가, 113쪽 1번 문제에도 있는데 초기값이 아닌 j의 최종값이 for문을 빠져나오면서 그 합계가 계산이 안되었습니다. 거짓조건까지 셈해야 한다면 28이 아닌 36이어야 하지 않나 해서 문의드립니다. 문제가 명확하게 이런이런 차이가 있다고 구분되어 설명된다면 좋겠는데.. 이번 시나공 문제풀이는 좀 많이 아쉽네요..ㅠㅠ 두서없이 글을 적어 죄송합니다만 시원하게 설명해주시면 대단히 고맙겠습니다.. 3일째 여기서 벗어나질 못하네요... 감사합니다.
답변
2019-05-07 13:15:28

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

 

for문의 기본 작동식을 떠올려보세요.

 

for(; ; ) {

   ④;

}

 

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

1: , (조건 참),

2: , (조건 참),

3: , (조건 참),

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

입니다.

 

위에서 만약 4번이 존재하지 않는다면, 4번만 제외하고 반복하면 됩니다.

 

1회 (조건 참) 

2회 (조건 참)

3회 (조건 참)

4회 (조건 거짓) <탈출>

 

3번 식이 2개라면 단순히 차례대로 수행해주면 되는 것이죠.

 

113쪽의 1번 문제의 경우 0~7까지 j+=i를 수행한후 i가 8이되면서 빠져나가게 됩니다.

i가 거짓(i=8)인 경우 j+=i는 수행되지 않죠.

 

25번 문제의 경우 위의 for문 작동식에서 '1회'에 해당하는 부분입니다. 즉 증가식인 3번은 아직 수행되지 않은 시점이죠. 때문에 i가 1일 때는 아무 수행 없이 넘어가고 2회에서 i가 2로 증가하면서 hap에 가산된 것입니다. 

34번 문제와 비교한다면 for문에 4번이 포함되어 있느냐 없느냐의 차이이지만 증가식 자체는 동일하게 운용되고 있으므로 위의 for문 기본식과 비교해가며 다시 한 번 풀어보세요.

 

만약 디버깅 중 혼동되는 부분이 있다면 어느 부분에서 막혔는지 구체적으로 질문주시면 더 자세한 안내가 가능합니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-05-07 13:15:28

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

     

    for문의 기본 작동식을 떠올려보세요.

     

    for(; ; ) {

       ④;

    }

     

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

    1: , (조건 참),

    2: , (조건 참),

    3: , (조건 참),

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

    입니다.

     

    위에서 만약 4번이 존재하지 않는다면, 4번만 제외하고 반복하면 됩니다.

     

    1회 (조건 참) 

    2회 (조건 참)

    3회 (조건 참)

    4회 (조건 거짓) <탈출>

     

    3번 식이 2개라면 단순히 차례대로 수행해주면 되는 것이죠.

     

    113쪽의 1번 문제의 경우 0~7까지 j+=i를 수행한후 i가 8이되면서 빠져나가게 됩니다.

    i가 거짓(i=8)인 경우 j+=i는 수행되지 않죠.

     

    25번 문제의 경우 위의 for문 작동식에서 '1회'에 해당하는 부분입니다. 즉 증가식인 3번은 아직 수행되지 않은 시점이죠. 때문에 i가 1일 때는 아무 수행 없이 넘어가고 2회에서 i가 2로 증가하면서 hap에 가산된 것입니다. 

    34번 문제와 비교한다면 for문에 4번이 포함되어 있느냐 없느냐의 차이이지만 증가식 자체는 동일하게 운용되고 있으므로 위의 for문 기본식과 비교해가며 다시 한 번 풀어보세요.

     

    만약 디버깅 중 혼동되는 부분이 있다면 어느 부분에서 막혔는지 구체적으로 질문주시면 더 자세한 안내가 가능합니다.

     

    행복한 하루되세요 :)

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