모두CBT

다음 프로그램 (가)의 순환 복잡도와 제어흐름 그래프 (나)의 순환 복… | [경찰간부후보생 소프트웨어공학] 26년 1회차 기출문제 상세 페이지

1[경찰간부후보생 소프트웨어공학] 26년 1회차
다음 프로그램 (가)의 순환 복잡도와 제어흐름 그래프 (나)의 순환 복잡도로 가장 적절한 것은? (단, 코드 실행에 대한 오류는 없는 것으로 함)
(가)(나)
bool func(int a, int b, int c) {
bool flag = true;
int i;
int sum;
if (a < b)
flag = false;
if (a < c)
flag= false;
if (a > 0)
i = 1;
else {
i = 0;
a = -a;
}
sum = 0;
while (i < a) {
sum += 1;
i++;
}
print(sum);
return flag;
}

(가) (나) (가) (나)
문제 이미지
1
4 4
2
5 5
3
4 5
4
5 4
해설

프로그램 (가)의 순환 복잡도는 5, 제어흐름 그래프 (나)의 순환 복잡도는 4이다.

(가)에는 판단문이 if, if, if-else, while 네 개 있으므로 판단 수에 1을 더해 5가 된다.

(나)는 노드 9개, 간선 11개이다.
V(G)=E−N+2=11−9+2=4V(G)=E-N+2=11-9+2=4
분기하는 노드가 3개이므로 3+1로 계산해도 같다.

  • (가)와 (나)를 모두 4로 본 조합: (가)의 while 반복도 판단문이므로 (가)는 5이다.
  • (가)와 (나)를 모두 5로 본 조합: (나)는 간선·노드 수로 계산하면 4이다.
  • (가) 4, (나) 5인 조합: 두 값이 서로 뒤바뀌었다.

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

이어서 풀어보기

[경찰간부후보생 소프트웨어공학] 26년 1회차 40문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요경찰간부후보생 소프트웨어공학 기출문제 암기장 전체 보기