모두CBT

다음 파이썬 코드에서 문장 커버리지를 100% 만족하는 (가) ~ (다… | [7급 국가직 소프트웨어공학] 25년 1회차 기출문제 상세 페이지

1[7급 국가직 소프트웨어공학] 25년 1회차
다음 파이썬 코드에서 문장 커버리지를 100% 만족하는 (가) ~ (다)에 들어갈 경로를 바르게 연결한 것은? (단, 단축연산은 수행하지 않는다)
(1) a = int(input('종료 숫자? '))
(2) sum = 0
(3) i = 1
(4) while i <= a:
(5) if i % 2 == 0:
(6) sum += i
(7) i += 1
(8) print('{}까지 짝수합은 {}'.format(a, sum))
(1) - (2) - (3) - (4) - (5) - (가) - (나) - (다) - (8)
(가) (나) (다)
1
(6) (7) (5)
2
(6) (7) (4)
3
(7) (4) (6)
4
(7) (4) (7)
해설

모든 문장을 지나는 경로는 5행 다음 6행 → 7행 → 4행을 거쳐 8행으로 가는 것이다.

문장 커버리지를 만족하려면 경로에 6행(sum += i)이 반드시 포함되어야 한다. 제어 흐름상 5행의 if가 참이면 6행, 이어 7행, 반복문 끝에서 while 조건(4행)으로 되돌아가고 거짓이면 8행으로 나간다.

  • 6행 → 7행 → 5행: 7행 다음에는 while 조건 검사(4행)로 가야 하며 5행으로 바로 갈 수 없다.
  • 7행 → 4행 → 6행: 4행에서 6행으로 가는 흐름이 없고, 반드시 5행의 if를 거쳐야 한다.
  • 7행 → 4행 → 7행: 4행에서 7행으로 바로 갈 수 없으며 6행이 실행되지 않아 문장 커버리지도 충족하지 못한다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[7급 국가직 소프트웨어공학] 25년 1회차 25문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요7급 국가직 소프트웨어공학 기출문제 암기장 전체 보기