모두CBT

다음 프로시저가 실행된 후 i 값으로 옳은 것은?Sub for_i()&… | [컴퓨터활용능력 1급 필기] 11년 3회차 기출문제 상세 페이지

1[컴퓨터활용능력 1급 필기] 11년 3회차
다음 프로시저가 실행된 후 i 값으로 옳은 것은?
Sub for_i()
  Dim i As Integer
  For i = 1 to 10
    i = i + i
  Next
End Sub
1
1
2
10
3
15
4
55
해설

프로시저는 For i = 1 To 10 반복문 안에서 i = i + i로 반복 변수 자신을 두 배로 만든다. Next에는 증가값이 생략되어 있으므로 한 번 돌 때마다 i가 1씩 증가하고, 그 값이 10을 넘는 순간 반복이 끝난다.

값을 차례로 따라가 보면, i=1로 시작해 본문에서 1+1=2가 되고 Next에서 1이 더해져 3이 된다. 3은 10 이하이므로 다시 실행되어 3+3=6, Next에서 7. 7도 10 이하이므로 7+7=14가 되고 Next에서 15가 된다. 15는 10보다 크므로 여기서 반복문을 빠져나온다.

For 문을 정상적으로 종료하면 반복 변수에는 종료 조건을 처음으로 넘어선 값이 그대로 남으므로 최종 i는 15다. 이처럼 반복 본문에서 반복 변수를 직접 고치면 반복 횟수와 최종값이 예상과 크게 달라진다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.