프로그래밍 정답

1	②	2	③	3	③	4	②	5	⑤
6	④	7	①	8	⑤	9	④	10	⑤
11	②	12	③	13	⑤	14	③	15	④
16	④	17	②	18	①	19	④	20	①

해 설

1. [출제의도] 프로그래밍 언어의 종류와 각각의 특징을 정확히 이해하고 있는가를 묻는 문제이다.

윈도 운영 체제에 적합한 객체 지향 언어의 대표적인 예는 VC++언어, 비주얼 베이직 언어 등을 들 수 있으며, 저급 언어로는 기계어와 어셈블리어가 있다.

2. [출제의도] 언어에 대한 논리적 구조를 파악하고 이를 적용한 프로그램 코드를 정확히 분석할 수 있는가를 묻는 문제이다.

논리말의 규칙을 적용하여 ‘A는 B의 동기이다’를 표현하기 위해서는 A와 B는 부모가 C로 동일해야 하며, A, B는 같은 사람이 아니어야 한다.

3. [출제의도] 정해진 규칙에 따라 논리적, 순서적으로 문제를 해결할 수 있는가를 묻는 문제이다.

로봇은 기본적으로 앞으로 진행하며, 정면이 벽으로 막혀 있거나, 갈림길이 나타나면 우선 순위에 의해 갈 수 있는 방향을 탐색하여 진행한다.

4. [출제의도] 논리 연산자에 대한 이해와 이를 응용한 논리식을 정확히 파악할 수 있는가를 묻는 문제이다.

장학금을 받기 위한 조건은 기말 고사 평균 점수가 95점 이상이거나 모의 고사 석차 백분율이 3% 이내이면서 외부 장학금은 받지 않아야 한다.

5. [출제의도] if(If) 문의 구조를 정확히 이해하고 있는가를 묻는 문제이다.

a>b의 값이 참이므로 내부의 if(If)~else(Else) 문이 수행되고, a<0의 값은 거짓이므로 문자 ‘B'를 출력한다. 또한 b<0의 값은 참이므로 문자 ’C‘를 출력한다. 즉, ‘BC’가 출력된다.

6. [출제의도] 논리적 분석 능력을 평가하는 문제이다.

조건에 따라 키 순으로 배열하면 [승철 - (현석 또는 우혁) - 재민 - (우혁)] 순으로 배열 가능하다.

따라서 가능한 경우를 모두 나열하면 다음과 같다.

ⅰ) 승철-현석-우혁-재민

ⅱ) 승철-현석-재민-우혁

ⅲ) 승철-우혁-현석-재민

7. [출제의도] 순서도의 구조 및 분석 능력을 평가하기 위한 문제이다.

ⅰ) 석유 매장량 Q에서 1년 소비량 S만큼 감소

ⅱ) 소비량을 5%씩 증가(S=S*1.05)

ⅲ) 변수 C(년수)를 1증가(C=C+1)

ⅳ) 매장량 Q가 남아 있으면 위 과정을 반복

ⅴ) 변수 C를 출력

8. [출제의도] 배열의 첨자에 대한 이해를 정확히 파악하고 있는가를 묻는 문제이다.

a[10] 또는 a(9)는 배열 요소가 10개이고, 첨자는 0~9까지를 사용할 수 있다. c[2][3][2] 또는 c(1,2,1)로 선언한 배열은 2×3×2=12개의 배열 요소가 있다.

9. [출제의도] 재귀 함수의 분석 능력을 평가하기 위한 문제이다.

재귀 함수 s는 n이 1보다 작지 않을 때는 계속하여 자신을 호출한다. 즉, 9+s(8), 8+s(7), 7+s(6)...+ 1+s(0)의 순으로 호출을 하며, s(0)=0이 되면 역순으로 리턴값을 돌려주게 되어 최종값은 45가 된다.

10. [출제의도] 수식에 대한 이해 능력을 평가하기 위한 문제이다.

(실기점수 * 2 + 면접점수)/2의 값이 40 이상이면 ‘합격’을 출력하는 프로그램이다.

11. [출제의도] 절대값 함수 abs(Abs)의 기능을 정확히 파악하고 있는가를 묻는 문제이다.

abs(a)는 a의 절대값을 구하는 함수이다.

12. [출제의도] 배열과 제어문으로 구성한 프로그램의 분석 능력을 평가하기 위한 문제이다.

z=z*10, z=z+t(i)를 4회 반복 수행하면 계산 결과 z=(((0+2)*10+1)*10+4)*10+3=2143이 된다.

13. [출제의도] 2차원 배열과 이중 for(For) 문을 이해하고 있는가를 묻는 문제이다.

3×3 크기의 2차원 배열에 저장된 수를 세로 방향으로 3개씩 합산하여 배열 t에 저장한다.

t(1)=1+9+6, t(2)=7+4+3, t(3)=5+2+8

14. [출제의도] 이중 루프로 구성한 제어문의 해석 능력을 평가하는 문제이다.

변수 c는 1+(1+1)+(1+1+1)+(1+1+1+1)의 값이 저장된다.

15. [출제의도] 순서 없이 나열된 프로그램 코드를 올바르게 배열할 수 있는가를 묻는 문제이다.

총 5줄을 출력하므로 첫번째 코드는 for(For) 문이 1~5까지 반복되어야 하고, 반복문의 종료는 맨 마지막에 위치해야 한다.

16. [출제의도] 석차를 구하는 알고리즘을 이해하고 있는가를 묻는 문제이다.

석차를 계산하는 알고리즘은 다음과 같다.

(가) 먼저 자신의 석차를 1등으로 배정한다.

(나) 다른 모든 사람과 차례로 비교하여 자신보다 큰 자료가 있으면 석차를 1씩 증가한다.

(다) 모든 학생의 자료에 대하여 (가), (나)의 과정을 반복 수행한다.

17. [출제의도] 변수, 수식 해석 및 프로그램 분석 능력 등을 종합적으로 평가하기 위한 문제이다.

변수 a는 토끼의 초당 이동거리, b는 거북이의 초당 이동거리, a_d는 토끼의 이동거리 누적값, b_d는 거북이의 이동거리 누적값을 저장하는 변수이다. 72초 후에 토끼와 거북이는 만난다.

[오답풀이] ① 반복문은 72회 수행된다. ③ b(=5/6)의 값을 실수로 처리해야 하므로 정수형 변수로 선언하면 오차가 발생한다. ⑤ 변수 b_d는 b의 값을 계속 누적하므로 오차가 점차적으로 증가한다.

18. [출제의도] 문자열 변수와 프로그램의 해석 능력을 평가하기 위한 문제이다.

각 단계별 배점을 2배로 증가시키려면 c=c*2가 된다.

19. [출제의도] 알고리즘 분석 능력을 평가하기 위한 문제이다.

구분	1분	2분	3분	4분	5분	6분	7분	8분	9분
A	철수	철수	철수	순희	순희	순희	철수	철수	철수
B	영희	영희	영희	영희	갑돌	갑돌	갑돌	갑돌	갑돌

20. [출제의도] 1차원 배열을 응용한 프로그램의 해석 능력을 평가하기 위한 문제이다.

각 집합의 요소값을 변수 Z의 인덱스(첨자)로 사용하므로 각 집합의 요소값에 따라 배열 Z의 해당 값이 1씩 증가한다. 따라서, 집합 A, B, C에 공통적으로 포함된 수의 개수가 3개인 경우에 배열 Z의 값이 3이 되므로 집합 A, B, C에 공통으로 포함된 ‘5’가 출력된다.