프로그래밍의 기초(의사 코드 트레이스)

제어 변수를 5씩 늘리는 다음 for 문을 실행한 후의 c의 값은?

integer: c ← 0
for (i from 10 to 50 step 5)
  c ← c + 1
endfor
  1. A8
  2. B9
  3. C10
정답과 해설 보기

정답: B. 9

i는 10, 15, 20, 25, 30, 35, 40, 45, 50으로 바뀌고, 다음 값 55는 종료값 50을 넘으므로 반복이 끝납니다. (50 − 10) ÷ 5 = 8은 사이 구간의 수이고, 양 끝의 10과 50을 포함하는 값의 개수는 8 + 1 = 9이므로 실행 횟수는 9회입니다. 울타리 기둥 세기와 마찬가지로, 구간의 수와 점의 수를 혼동하면 하나 어긋나는 오류(오프 바이 원 오류)가 됩니다.

이 분야 연습하기 분야로 돌아가기

프로그래밍의 기초(의사 코드 트레이스)의 다른 문제

  1. 다음 프로그램의 and는 왼쪽 식이 false일 때는 오른쪽 식을 평가하지 않는다(단락 평가). cnt는 전역 변수이다. 실행한 후의 cnt의 값은?
  2. 요소 수 n인 배열 a에서 값 x를 찾아, 찾은 인덱스를 i에 구하는 다음 프로그램이 있다. 배열의 인덱스는 1부터 시작한다. and와 or는 왼쪽 식만으로 결과가 정해질 때는 오른쪽 식을 평가하지 않는다. 【a】에 넣을 조건식 중, x가 a 안에 없을 때 범위 밖의 a[n + 1]을 참조해 버리는 것은?
  3. 실수형 값은 IEEE 754 배정밀도(binary64)로 나타내며, 덧셈 결과는 가장 가까운 표현 가능한 값으로 반올림한다. 다음 프로그램을 실행한 후의 c의 값은?
  4. 클래스 Counter는 인스턴스마다 정수형 멤버 변수 count(생성 시 0)를 가지며, 메서드 inc()는 자신의 count에 1을 더한다. 다음 프로그램을 실행한 후의 x의 값은?
  5. 클래스 Counter는 인스턴스마다 정수형 멤버 변수 count(생성 시 0)를 가지며, 메서드 inc()는 자신의 count에 1을 더한다. Counter형 변수에는 인스턴스 자체가 아니라 인스턴스에 대한 참조가 들어간다. 다음 프로그램을 실행한 후의 x의 값은?