• 검색 결과가 없습니다.

2007년 11월 고2 학력평가 프로그래밍

N/A
N/A
Protected

Academic year: 2021

Share "2007년 11월 고2 학력평가 프로그래밍"

Copied!
4
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

65

72

5권 중 5권

2007학년도 11월 고2 전국연합학력평가 문제지

직업탐구 영역(프로그래밍)

제 4 교시

성명

수험번호

2

1

◦ 먼저 수험생이 선택한 과목의 문제지인지 확인하시오.

◦ 반드시 자신이 선택한 과목의 문제지를 풀어야 합니다.

◦ 문제지에 성명과 수험 번호를 정확히 기입하시오.

◦ 답안지에 수험 번호, 선택 과목, 답을 표기할 때에는 반드시 ‘수험

생이 지켜야 할 일’에 따라 표기하시오.

◦ 문항에 따라 배점이 다르니, 각 물음의 끝에 표시된 배점을 참고하

시오. 3점 문항에만 점수가 표시되어 있습니다. 점수 표시가 없는 문

항은 모두 2점씩입니다.

1.

다음 대화의 (가)에 들어갈 프로그래밍 언어에 대한 설명으로 옳은 것을 <보기>에서 모두 고르면? 그래요. 하지만 컴퓨터가 나온 초창기에는 0과 1의 2진수로 명령어를 표현하는 ( 가 )를 사용해서 무척 어려웠어요. 요즈음 프로그래밍 언어는 자연어에 가까워서 프로그램을 작성하기가 쉬워요. 보 기 ㄱ. 컴퓨터의 기종에 관계 없이 사용할 수 있다. ㄴ. 상속성, 캡슐화, 다형성의 특징을 가지고 있다. ㄷ. 언어 번역기에 의해 변환된 프로그램의 형태이다. ㄹ. 컴퓨터가 프로그램을 직접 인식하여 번역 과정 없이 실행된다. ① ㄱ, ㄴ ② ㄱ, ㄷ ③ ㄴ, ㄷ ④ ㄴ, ㄹ ⑤ ㄷ, ㄹ

2.

다음 프로그램의 입력 값이 3일 때, 출력 결과로 옳은 것은? C 언어 비주얼 베이식 언어 #include<stdio.h> void main() { int i, num; printf("num : "); scanf("%d", &num); i=1; do { i=i+1; num=num+1; } while(i<=10); printf("%d", num); }

Private Sub Form_Activate() Dim i, num As Integer num = InputBox("num : ") i = 1 Do i = i + 1 num = num + 1 Loop While (i <= 10) Print num End Sub ① 10 ② 11 ③ 12 ④ 13 ⑤ 14

3.

그림은 프로그래밍 용어를 요리와 연관지어 나타낸 것이다. (가)에 들어갈 내용으로 알맞은 것은? ① 로드 ② 변수 ③ 디버그 ④ 메소드 ⑤ 컴파일러

4.

다음은 1부터 n까지의 합을 구하는 순서도의 일부이다. 이 순서도를 n!을 구하는 순서도로 변경할 때, (가)부분을 바르게 수정한 것은? ◦ 1부터 n까지의 합 = 1+2+3+ ㆍㆍㆍ +n ◦ n! = 1*2 *ㆍㆍㆍ *(n-2)*(n-1)*n

① total = total * i ② total = total * n

③ total = total * n * i ④ total = total * i - 1 ⑤ total = total * n - i

5.

다음 의사 코드에서 출력되는 Z값의 의미로 옳은 것은? [3점] [단계1] : Z의 값을 0 으로 초기화한다. [단계2] : 두 개의 정수를 입력받아 각각 X와 Y에 넣는다. [단계3] : 만약, 정수 X보다 Y가 크면 Z를 출력한 후 종료한다. [단계4] : X에 X-Y의 값을 넣는다. [단계5] : Z의 값을 1 증가시킨 후 [단계3]으로 돌아간다. ① X와 Y 중 큰 수 ② X와 Y 중 작은 수 ③ X와 Y를 곱한 값 ④ X를 Y로 나눈 몫 ⑤ X를 Y로 나눈 나머지 요리 프로그래밍 요리사 프로그래머 요리 순서 알고리즘 요리의 재료 데이터 재료를 담을 그릇 (가)

프로그래밍

(2)

2

직업탐구 영역(프로그래밍)

5권 중 5권

66

72

6.

다음과 같이 10진수를 2진수로 변환하는 프로그램을 작성할 때, (가) 에 들어갈 내용으로 알맞은 것은? [3점] C 언어 비주얼 베이식 언어 #include<stdio.h> void main() { int i, binary, n; i=1, binary=0, n=10; while(1) { binary=binary+(n%2)*i; (가) ; n=(int)(n/2); if(n==0) break; } printf("%d", binary); }

Private Sub Form_Activate() Dim i, binary, n As Integer i = 1: binary = 0: n = 10 Do While 1

binary = binary + (n Mod 2) * i (가) n = Int(n / 2) If n = 0 Then Exit Do End If Loop Print binary End Sub ① i = i + 10 ② i = i - 10 ③ i = i * 10 ④ i = i * 100 ⑤ i = i * 1000

7.

다음 프로그램의 출력 결과로 옳은 것은? [3점] C 언어 비주얼 베이식 언어 #include<stdio.h> void main() { int i; int A[]={1, 0, 1, 1}; int B[]={0, 0, 0, 0}; for(i=0; i<=3; i++) { if(i==0) B[i]=A[i]; else if(B[i-1]==A[i]) B[i]=0; else B[i]=1; }

for(i=0; i<=3; i++) { printf("%d ", B[i]); }

}

Private Sub Form_Activate() Dim i As Integer

Dim A(), B() As Variant A() = Array(1, 0, 1, 1) B() = Array(0, 0, 0, 0) For i = 0 To 3

If i = 0 Then B(i) = A(i)

ElseIf B(i - 1) = A(i) Then B(i) = 0 Else B(i) = 1 End If Next i For i = 0 To 3 Print B(i); Next i End Sub ① 0 0 0 0 ② 0 1 0 0 ③ 1 0 1 1 ④ 1 1 0 1 ⑤ 1 1 1 1

8.

<보기>에서 오버플로(Overflow)가 발생하는 경우를 모두 고르면? 보 기 ㄱ. 정수형 변수에 문자 데이터를 저장할 때 ㄴ. 정수형 변수의 표현 가능 범위보다 큰 값을 저장할 때 ㄷ. 5개의 데이터를 저장할 수 있는 스택에 6개의 데이터를 저장 할 때 ① ㄱ ② ㄴ ③ ㄱ, ㄷ ④ ㄴ, ㄷ ⑤ ㄱ, ㄴ, ㄷ

9.

다음은 정사각형의 개수를 구하는 원리를 나타낸 것이다. 이 원리를 프로그램으로 작성할 때, (가) 에 들어갈 내용으로 알맞은 것은? [3점] C 언어 비주얼 베이식 언어 #include<stdio.h> int a(int n) { if(n<=1) return 1; else return (가) ; } void main() { int n; scanf("%d", &n); printf("%d", a(n)); }

Function a(n) As Integer If n <= 1 Then a = 1 Else a = (가) End If End Function

Private Sub Form_Activate() Dim n As Integer n = InputBox("") Print a(n) End Sub ① n + a(n + 1) ② n - a(n + 1) ③ n + a(n - 1) ④ n * n - a(n + 1) ⑤ n * n + a(n - 1)

10.

다음 내용에 해당하는 자료 구조로 옳은 것은? 프로그램을 작성하던 중 변수의 개수가 너무 많아 변수를 구분 하는데 어려움을 겪을 것으로 예상하여, 그림과 같이 여러 개의 동일한 자료형 변수를 첨자로 구별하는 자료 구조를 사용하였다. ① 큐 ② 배열 ③ 스택 ④ 트리 ⑤ 구조체

프로그래밍

(3)

3

직업탐구 영역(프로그래밍)

71

72

5권 중 5권

11.

도표로 제시한 프로그램 작성 절차에서 (가)에 들어갈 단계에 대한 설명으로 알맞은 것은? [3점] ① 명령문을 입력하는 단계 ② 명령의 순서를 단계별로 도표화하는 단계 ③ 업무 전반에 대한 문제를 분석하고 결정하는 단계 ④ 어떤 매체로 어떻게 입력할 것인지 설계하는 단계 ⑤ 프로그램에 관계되는 모든 자료를 문서화하는 단계

12.

다음 프로그램의 출력 결과로 옳은 것은? [3점] C 언어 비주얼 베이식 언어 #include<stdio.h> void main() { int i, j; char A[3][2]; A[0][0]='a'; A[0][1]=2; A[1][0]='c'; A[1][1]=0; A[2][0]='b'; A[2][1]=1; i=0; for(j=0; j<=2; j++) { printf("%c", A[i][0]); i=A[i][1]; } }

Private Sub Form_Activate() Dim i, j As Integer

Dim A(3, 2) As String A(0, 0) = "a": A(0, 1) = 2 A(1, 0) = "c": A(1, 1) = 0 A(2, 0) = "b": A(2, 1) = 1 i = 0 For j = 0 To 2 Print A(i, 0); i = A(i, 1) Next j End Sub

① abc ② acb ③ bca

④ cab ⑤ cba

13.

다음은 세 가지 조명 색상을 혼합하여 만든 색상표이다. ‘빨강색’의 연산식으로 옳은 것은? (단, 조명 색상 값이 1이면 ON, 0이면 OFF임) 입력(조명 색상) 출력 R(빨강) G(초록) B(파랑) 색상 0 0 0 검정색 0 0 1 파랑색 0 1 0 초록색 0 1 1 하늘색 1 0 0 빨강색 1 0 1 보라색 1 1 0 노랑색 1 1 1 흰색 C 언어 비주얼 베이식 언어 ① !R || G || B (Not R) Or G Or B

② R && !G || B R And (Not G) Or B

③ !R && G && B (Not R) And G And B

④ !R || G && !B (Not R) Or G And (Not B)

⑤ R && !G && !B R And (Not G) And (Not B)

14.

그림과 같이 디스켓을 박스 단위와 잔여분으로 나누는 프로그램을 작성할 때, 밑줄 친 (가)를 대체할 수 있는 코드로 알맞은 것은? (단, 디스켓 1박스는 10개이다.) [n=12인 경우] 1박스 2개 C 언어 비주얼 베이식 언어 #include<stdio.h> void main() { int n; printf("개수 입력: "); scanf("%d", &n); if(n%10==0) printf("%d박스", (int)(n/10)); else { printf("%d박스 ", (int)(n/10)); printf("%d개", n%10); } (가) }

Private Sub Form_Activate() Dim n As Integer

n = InputBox("개수 입력: ") If (n Mod 10) = 0 Then Print Int(n / 10) & "박스" Else

Print Int(n / 10) & "박스 "; Print n Mod 10 & "개" (가) End If End Sub C 언어 비주얼 베이식 언어 ① n-(n*10) n - (n * 10) ② n-(n%10) n - (n Mod 10) ③ n-(n*10)*10 n - (n * 10) * 10 ④ n-(int)(n/10) n - Int(n / 10) ⑤ n-(int)(n/10)*10 n - Int(n / 10) * 10

15.

그림과 같이 거미는 전날보다 1.2배 긴 거미줄을 만든다. n일까지 만든 거미줄의 총 길이(A)를 구하는 프로그램을 작성할 때, (가) 에 들어갈 내용으로 알맞은 것은? [3점] C 언어 비주얼 베이식 언어 #include<stdio.h> void main() { int i, n; double A, x; x=1, A=0; scanf("%d", &n); for(i=1; i<=n; i++) { A=A+x;

(가) ; }

printf("%f", A); }

Private Sub Form_Activate() Dim i, n As Integer Dim A, x As Double x = 1: A = 0 n = InputBox("") For i = 1 To n A = A + x (가) Next i Print A End Sub ① x = x + 1.2 ② x = x * 1.2 ③ x = A + 1.2 ④ x = A * 1.2 ⑤ x = A * x * 1.2

프로그래밍

(4)

4

직업탐구 영역(프로그래밍)

5권 중 5권

72

72

16.

그림은 배열 A의 요소 값을 배열 B에 역순으로 저장하는 방법을 나타낸 것이다. 배열 A[i]가 저장될 배열 B[j]를 바르게 나타낸 것은? [3점] ◦배열 A의 요소의 개수는 n개이다. [n=5인 경우] ① B[i] ② B[n] ③ B[n-1] ④ B[n-i] ⑤ B[n-1-i]

17.

다음 프로그램의 입력 값이 74일 때, 출력 결과로 옳은 것은? C 언어 비주얼 베이식 언어 #include<stdio.h> void main() { int i, j; char arr[]={'B','C','D'}; scanf("%d", &i); j=(int)(i/10); if(j<6) printf("F"); else if(j>=9) printf("A"); else printf("%c", arr[8-j]); }

Private Sub Form_Activate() Dim i, j As Integer

Dim arr() As Variant

arr() = Array("B", "C", "D") i = InputBox("") j = Int(i / 10) If j < 6 Then Print "F" ElseIf j >= 9 Then Print "A" Else Print arr(8 - j) End If End Sub ① A ② B ③ C ④ D ⑤ F

18.

다음 프로그램의 ㉠~㉤에서 문법적으로 옳지 않은 것을 고르면? C 언어 비주얼 베이식 언어 #include<stdio.h> void main() { ㉠ /* 덧셈 프로그램 작성 */ ㉡ int a, b, if, for;

㉢ a=10, b=20; ㉣ if=a+b; ㉤ for=if*10; printf("%d %d", a, b); }

Private Sub Form_Activate() ㉠ Rem 덧셈 프로그램 작성 ㉡ Dim a, b, If, For As Integer ㉢ a = 10: b = 20 ㉣ If = a + b ㉤ For = If * 10 Print a; b End Sub ① ㉠, ㉡, ㉢ ② ㉠, ㉡, ㉣ ③ ㉠, ㉢, ㉤ ④ ㉡, ㉣, ㉤ ⑤ ㉢, ㉣, ㉤

19.

다음과 같이 출력하는 프로그램을 작성할 때, (가) 에 들어갈 내용으로 알맞은 것은? [3점]

1

234

56789

C 언어 비주얼 베이식 언어 #include<stdio.h> void main() { int i, j, sp, k; k=0;

for(i=1; i<=3; i++) { for(sp=10-i; sp>=0; sp--) printf(" "); for(j=1; j<=i*2-1; j++) { k= (가) ; printf("%d", k); } printf("\n"); } }

Private Sub Form_Activate() Dim i, j, sp, k As Integer k = 0 For i = 1 To 3 For sp = 10 - i To 0 Step -1 Print " "; Next sp For j = 1 To i * 2 - 1 k = (가) Print Format(k, "#"); Next j Print Next i End Sub ① k - 1 ② k + 1 ③ k + i ④ k + j ⑤ k + i + j

20.

다음은 버블 정렬의 과정을 나타낸 것이다. [단계 2]에 들어갈 내용으로 옳은 것은? [3점] ◦ 배열 x의 첨자 i는 0부터 n-1까지

x[i] > x[i+1] : x[i]와 x[i+1]을 교환한다. x[i] ≦ x[i+1] : 데이터를 그대로 둔다. ◦ 위 과정을 n-1번 수행한다. ① 3 1 4 7 9 ② 4 1 3 7 9 ③ 1 4 7 3 9 ④ 1 4 3 7 9 ⑤ 1 3 4 7 9

※ 확인사항

○ 문제지와 답안지의 해당란을 정확히 기입(표기)했는지 확인

하시오.

프로그래밍

참조

관련 문서

유체는 점성유체로 평상시에는 평범한 점성유체 이지만, 여 기에 전기, 자기장을 걸어주게 되면 유체 내부의 입자들이 규칙적으로 배열 하기 때문에 고체처럼

 이들은 동일한 이름을 가지고 있으며, 단지 괄호 안의 첨자 (subscript)만 다르다.. 첨자가 배열

- 함수의 인자로 배열이 전달되면 배열의 기본 주소가 (배열의 내용이 아님) call-by-value로 전달됨...

일반적으로 합금의 전해질에 대한 저항은 거의 영향을 받지 않기 때문에 분극에 대한 저항의 값을 얼마나 받느냐가 중요하다.Tabl e4는 분극저항(R p ) 값을 나타낸

다포계 맞배지붕 건물은 다포를 올리고 있으면서 맞배지붕을 올린 건물이다 다포계 팔. 작지붕 건물에 비해 측면 지붕의 하중을 분담할 필요가 있다 그러므로 측면에

CHAP 3:배열,

[r]

▪ 문법과 배열의 결속, 문장의 체계적인 배열, 문장의 긴밀한 결속 등 을 글을 마무리 짓는 순간까지 계속해서 점검해야 함..