문제
아래는 Do...Loop 문을 이용하여 1에서부터 100까지의 홀수 합을 메시지 상자에 표시하는 코드이다. 다음 중 (㉠)과 (㉡)에 들어갈 식으로 옳은 것은?
① (㉠) While Count < 100 (㉡) Count = Count + 2 ② (㉠) Until Count < 100 (㉡) Count = Count + 2 ③ (㉠) Until Count > 100 (㉡) Count = Count + 1 ④ (㉠) While Count > 100 (㉡) Count = Count + 1
정답
1번
해설
정답: 1. 홀수의 합을 구하려면 Count를 1부터 2씩 증가시켜 1, 3, 5, …로 만들어야 하므로 (㉡)은 Count = Count + 2이다. 그리고 Count가 100 미만인 동안 반복해야 하므로 조건은 Do While Count < 100이다.
오답 풀이
- 1번: While Count < 100과 +2 증가로 100 이하 홀수의 합을 정확히 구하므로 옳다.
- 2번: Until Count < 100은 처음부터 조건을 만족하지 못해 한 번도(또는 잘못) 실행되므로 옳지 않다.
- 3번: +1씩 증가하면 홀수가 아니라 모든 정수를 더하게 되므로 옳지 않다.
- 4번: While Count > 100은 시작값(1)에서 거짓이라 반복이 실행되지 않으므로 옳지 않다.
보충 개념 Do While 조건은 '조건이 참인 동안' 반복하고, Do Until 조건은 '조건이 참이 될 때까지' 반복한다. 홀수만 더하려면 증가폭을 2로 두어야 한다.