모두CBT

아래는 Do...Loop 문을 이용하여 1에서부터 100까지의 홀수 합… | [컴퓨터활용능력 1급 필기] 15년 3회차 기출문제 상세 페이지

1[컴퓨터활용능력 1급 필기] 15년 3회차
아래는 Do...Loop 문을 이용하여 1에서부터 100까지의 홀수 합을 메시지 상자에 표시하는 코드이다. 다음 중 (ㄱ)과 (ㄴ)에 들어갈 식으로 옳은 것은?
Sub ODD( )
    Count = 1
    Total = 0
    Do ( ㉠ )
        Total = Total + Count
        ( ㉡ )
    Loop
1
(ㄱ) While Count < 100 (ㄴ) Count = Count + 2
2
(ㄱ) Until Count < 100 (ㄴ) Count = Count + 2
3
(ㄱ) Until Count > 100 (ㄴ) Count = Count + 1
4
(ㄱ) While Count > 100 (ㄴ) Count = Count + 1
해설

코드는 Count = 1, Total = 0으로 시작해 반복문 안에서 Total = Total + Count로 Count 값을 계속 누적한다. 1부터 100까지의 홀수만 더하려면 Count가 1, 3, 5, …로 커져야 하므로 두 번째 괄호에는 Count = Count + 2가 들어가야 한다. 여기에 1을 더하면 짝수까지 함께 더해져 홀수 합이 되지 않는다.

첫 번째 괄호에는 반복 조건이 들어간다. Do While 조건은 조건이 참인 동안 반복하므로 While Count < 100으로 두면 Count가 1, 3, …, 99일 때까지 반복이 이어져 1+3+5+…+99가 누적되고, Count가 101이 되는 순간 조건이 거짓이 되어 반복이 끝난다.

반대로 Do Until 조건은 조건이 참이 될 때까지, 즉 거짓인 동안 반복한다. 그래서 Until Count < 100은 시작하자마자 1 < 100이 참이 되어 반복문이 한 번도 실행되지 않고, While Count > 100 역시 처음부터 조건이 거짓이라 실행되지 않는다.

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