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

이중 루프 안에 조건 분기가 있는 다음 프로그램을 실행한 후의 c의 값은?

integer: c ← 0
for (i from 1 to 4 step 1)
  for (j from 1 to i step 1)
    if (j mod 2 = 1)
      c ← c + 1
    endif
  endfor
endfor
  1. A4
  2. B6
  3. C10
정답과 해설 보기

정답: B. 6

안쪽 반복은 j = 1~i이며, j가 홀수일 때에만 c를 늘립니다. i = 1에서는 j = 1의 1회, i = 2에서는 j = 1의 1회, i = 3에서는 j = 1, 3의 2회, i = 4에서는 j = 1, 3의 2회로, 합계 1 + 1 + 2 + 2 = 6입니다. 안쪽 처리는 모두 1 + 2 + 3 + 4 = 10회 실행되지만, 그중 조건을 만족하는 것은 6회입니다. 반복 안에 조건 분기를 넣은, 제어 구조 조합의 기본형입니다.

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

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

  1. 배열 a의 모든 요소의 합계를 구할 생각으로 다음 프로그램을 작성했다. 배열의 인덱스는 1부터 시작한다. 실행한 후의 s의 값은?
  2. 배열의 인덱스는 1부터 시작한다. 최대 요소를 찾는 다음 프로그램을 실행한 후의 m의 값은?
  3. 배열 a의 요소를 역순으로 뒤집을 생각으로 다음 프로그램을 작성했다. 배열의 인덱스는 1부터 시작한다. 실행한 후의 a의 내용은?
  4. 배열의 인덱스는 1부터 시작한다. 다음 프로그램을 실행한 후의 배열 a의 내용은?
  5. 배열의 인덱스는 1부터 시작한다. 이웃한 요소를 비교하는 다음 프로그램을 실행한 후의 c의 값은?