• 검색 결과가 없습니다.

[동국대학교 문항정보]

1. 일반정보

2. 문항 및 제시문

※ 다음 제시문을 읽고 물음에 답하시오.

[가] 중심이

 

이고 반지름의 길이가

인 원의 방정식은

       

-『고등학교 수학 I』

[나] 부등식

  

의 영역은 원

  

의 내부이다.

부등식

  

의 영역은 원

  

의 외부이다.

-『고등학교 수학 I』

[다] 1차원 배열로 선언된 변수를 다시 배열로 선언한 변수를 2차원 배열이라고 한다. 2차원 배열의 첫째 첨자는 배열의 행을, 둘째 첨자는 배열의 열을 나타낸 다. 아래 표는 2차원 정수 배열의 정의와 사용법을 나타낸다.

2차원 배열 형식 2차원 배열 사용 방법 첨자를 이용한 배열 요소의 접근

자료형 배열명[첨자][첨자]

첨자: 정수형 int A[2][3]= {1, 2, 3, 4, 5, 6};

0열 1열 2열

0행 1 2 3

1행 4 5 6

A[1][2]는 1행 2열의 값 6을 나타냄 유형 ■ 논술고사 □ 면접 및 구술고사 □ 선다형고사

전형명 실기(SW)전형 - 멀티미디어공학전공

해당 대학의

계열(과목) / 문항번호 자연계열 / 문제2

출제 범위

수학과 교육과정 과목명 수학 Ⅰ, 프로그래밍 핵심개념 및 용어 직선의 방정식, 부등식, 2차원 배열

예상 소요 시간 60분/전체 120분

[문제2]

2-B-1. 아래 [프로그램2 코드]에서 새롭게 선언되는 배열 Arr1을 이용하여 총 9개의 행과 5개의 열을 가지는 배열 Arr2를 생성한다. 아래의 (가)~(다) 조건을 모두 만족하도록 [프로 그램2 코드]의 밑줄 친 부분에 들어갈 알맞은 코드를 작성하시오.

(가) 먼저, Arr2의 0, 2, 4, 6, 8 행의 각각의 원소값은 Arr1의 0, 1, 2, 3, 4 행의 각각의 원소값과 같게 설정한다.

(나) Arr2의 1, 3, 5, 7 행들의 각 배열 원소값은 인접한 위, 아래 행 원소들 중 동일한 열 에 위치하는 두 원소가 가지는 배열 원소값의 평균으로 결정한다.

(다) 배열에 사용되는 첨자는 제공된 [프로그램2 코드] 내에서 이미 선언된 변수만을 이용 한다.

[프로그램2 코드]

#include <stdio.h>

int Arr1[5][5] = {0,0,16,0,0, 0,24,32,24,0, 16,32,64,32,16, 0,24,32,24,0, 0,0,16,0,0 };

int Arr2[9][5] = {0};

int main() {

int i_a = 0, i = 0, j = 0;

// (가) 조건 관련 처리

for (i=0; i<__________; i++){

for (j=0; j<__________; j++){

i_a = ________;

if (___________________)

Arr2[i][j] = _______________________;

} }

// (나) 조건 관련 처리

for (i=0; i<____________; i++){

for (j=0; j<____________; j++){

if (_________________)

Arr2[i][j] = ________________________________;

} }

return 0;

}

【프로그램 작성 유의사항】

※ 특정한 프로그래밍 언어를 제한하지 않으며 사소한 문법적인 오류는 평가에 반영되지 않는다.

2-B-2. [문제 2] B-1에서 [프로그램2 코드]가 모두 올바르게 작성되었을 경우, [프로그램 2 코드] 실행 후 Arr2의 결과를 아래 [그림 2]의 형태로 작성하시오.

[그림 2]

2-C. Arr4 배열의 원소값이 0으로 초기화되어 있는 상태에서 아래 (가)~(다)의 순서에 따 라, [그림 3] (a)에 제시된 Arr3 배열을 이용하여 [그림 3] (c)에 제시된 Arr4 형태의 배열 을 생성하고자 한다. [프로그램3 코드]의 밑줄 친 부분과 박스 부분의 코드를 (가)~(다) 조 건을 모두 만족하도록 작성하시오.

(가) 먼저, Arr4의 0, 3, 6 행의 각각의 원소값은 Arr3의 0, 1, 2 행의 각각의 원소값과 동 일하게 설정한다. 배열 Arr4의 나머지 원소는 “빈칸” ([그림 3] (c)에서 회색음영으로 표시) 으로 지칭한다.

(나) 배열의 각 원소는 자신의 행 첨자, 열 첨자, 배열의 원소값을 가진다. 이때, [그림 3]

(b) 와 같이 배열의 각 원소를 (x,y) 좌표로 나타내기 위하여, x는 해당 원소의 행 첨자를, y는 해당 원소의 배열의 원소값으로 정한다.

(다) Arr4 배열의 각 빈칸의 배열 원소값을 정하는 방법은 다음과 같다. 빈칸과 동일한 열에 있고, 0, 3, 6 중 해당 빈칸의 행 첨자와 가장 먼 값을 제외한 서로 다른 두 값을 행 첨자 로 가지는 배열 Arr4의 두 원소를 선택하자. 이때, 선택된 두 원소가 나타내는 (x,y)로 만들 어진 두 점을 지나는 직선을

이라고 할 때, 해당 빈칸이 나타내는 점이 직선

위의 점이 되도록 해당 빈칸의 배열의 원소값 y를 정한다.

9 9 27 9 9 27 81 27 81 9 9 9 27 9 9

9 9 27 9 9 0 0 0 0 0 0 0 0 0 0 27 81 27 81 9 0 0 0 0 0 0 0 0 0 0 9 9 27 9 9

(a) (b) (c)

[그림 3] (a) 2차원 입력 배열 Arr3, (b) 배열 원소의 (x,y) 변환 과정, (c) 2차원 출력 배열 Arr4

((나-다)의 예시) [그림 3] (c)에서 1행 0열의 빈칸은 0행 0열과 3행 0열의 배열의 원소를 선택하여 만들어진 (0,9), (3,27) 의 두 점을 지나는 직선

을 도출한다. 이 때, 1행 0열이 나타내는 점이 직선

위의 점이 되도록 1행 0열의 원소값을 새로운 원소값으로 정한다.

코드가 실행 된 후에는 Arr4의 모든 빈칸의 원소값이 새롭게 설정되도록 하고, [프로그램3 코드] 내 모든 배열의 첨자로는 주어진 코드 내에서 이미 선언된 변수만 사용하시오.

[프로그램3 코드]

#include <stdio.h>

int Arr3[3][5] = {9,9,27,9,9, 27,81,27,81,9, 9,9,27,9,9 };

int Arr4[7][5] = {0};

int main() {

int i_a = 0, i_b = 0, i = 0, j = 0;

// (가) 과정 관련 기술

for (i=0; i<____________; i++){

for (j=0; j<____________; j++){

if (________________){

i_a = ______________;

Arr4[i][j] = _____________________;

} } }

// (다) 과정 관련 기술

for (i=0; i<____________; i++){

for (j=0; j<____________; j++){

} }

return 0;

}

【프로그램 작성 유의사항】

※ 특정한 프로그래밍 언어를 제한하지 않으며 사소한 문법적인 오류는 평가에 반영되지 않는다.

<40~50줄> [60점]

3. 출제 의도

○ 원의 방정식과 부등식에 대한 이해도를 확인하고, 컴퓨터 프로그래밍과 연계하

여 알고리즘의 분석 능력을 2차원 배열에 대한 이해정도, 활용능력과 함께 평가하

고자 하였음.

관련 문서