2010 초등부문제 1. 나, 아버지, 할아버지의나이관계가다음과같다. 나와아버지의나이차이는 30 이고, 아버지와할아버지의나이차이는 26이고, 나와할아버지의나이합은 90이다. 나는몇살인가? 2. 기약분수는분자와분모의최대공약수가 1 인분수이다. 분수 와분수 사이의 분수중에

Similar documents
Problem 정보영재교육센터경남김해단비컴퓨터학원 2010 시도예선초등부문제 1. 나, 아버지, 할아버지의나이관계가다음과같다. 나와아버지의나이차이는 30이고, 아버지와할아버지의나이차이는 26이고, 나와할아버지의나이합은 90이다. 나는몇살인가?


2008 시도예선초등부문제 1. 다음은일정한규칙에따라수를늘어놓은것이다. 빈칸에가장알맞은수는? 2, 3, 5, 8, 12, 17, ( ) 2. A, B, C, D 가각각 0~9 까지숫자중에하나이고다른알파벳은다른숫자를나타낸 다. 다음식을만족하는 D 의값은? 3. 1 을 7

Microsoft PowerPoint - Java7.pptx

- 1 -

중간고사

- 1 -

윈도우즈프로그래밍(1)

31. 을전개한식에서 의계수는? 를전개한식이 일 때, 의값은? 을전개했을때, 의계수와상수항의합을구하면? 을전개했을때, 의 계수는? 를전개했을때, 상수항을 구하여라. 37

C 언어 프로그래밊 과제 풀이

기본도형과작도 1 강 - 연습문제 1. 오른쪽그림과같이직선l 위에점,, 가있을때, 옳지않은것은? 1 = 2 = 3 = 직선l 4 = 5 = l 2. 오른쪽그림에서 = = 이다. 다음( ) 안에알맞은수를쓰시오. 1 =( 2 =( 3 =( 4 =( ) ) ) ) 3. 한평

untitled

; struct point p[10] = {{1, 2, {5, -3, {-3, 5, {-6, -2, {2, 2, {-3, -3, {-9, 2, {7, 8, {-6, 4, {8, -5; for (i = 0; i < 10; i++){ if (p[i].x > 0 && p[i

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<30325FBCF6C7D05FB9AEC7D7C1F62E687770>

제 2 교시 2019 학년도 3 월고 1 전국연합학력평가문제지수학영역 1 5 지선다형 1. 의값은? [2점] 일차방정식 의해는? [2 점 ] 두수, 의최대공약수는? [2 점 ] 일차함수 의그래프에서

8. 수직선위에다음수들이대응할때, 원점에서가장멀리 위치한수는? 12. Å + 7 ã Å + 5 ã Å 16 ã + 3 을계산하여라 다음에서그결과가다른하나는? 1 3 보다 5 만큼큰수 9. 두정수 a, b

<C1DFB0EDB5EEBACE2E687770>

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

PowerPoint 프레젠테이션

untitled

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

7. 다음그림과같이한변의길이 가 4 6 인마름모의넓이를구 하여라. 10. 다음그림과같이모선의길이가 6 cm 인원뿔의밑면의 둘레의길이가 6π cm 일때, 원뿔의높이와부피를구한 것은? 1 6 cm, 6 π cm 6 cm, 6π cm 8. 다음과같이한변의길이가 8 인정육 면

Chapter 4. LISTS

1 peaieslvfp3 1. 두점사이의거리 수직선위의두점사이의거리를구할수있다. 좌표평면위의두점사이의거리를구할수있다. 수직선위의두점사이의거리 todrkrgo qhqtlek 오른쪽그림은충무로역을중심으로한서울시지하철 3`호선노선도의일부분이다. 충무로역을` 0, 을지로 3`

벡터(0.6)-----.hwp

최종 고등수학 하.hwp

- A 2 -

집합 집합 오른쪽 l 3. (1) 집합 X 의각원소에대응하는집합 Y 의원소가단하나만인대응을 라할때, 이대응 를 X 에서 Y 로의라고하고이것을기호로 X Y 와같이나타낸다. (2) 정의역과공역정의역 : X Y 에서집합 X, 공역 : X Y 에서집합 Y (3) 의개수 X Y

5. 두함수 log 에대하여옳은것을 < 보기 > 에서모두고르면?5 ) ㄱ. ㄴ. ㄷ. < 보기 > 1 ㄴ 2 ㄷ 3 ㄱ, ㄴ 4 ㄴ, ㄷ 5 ㄱ, ㄴ, ㄷ 7. 인실수 에대하여 log 의지표를 이라할때, 옳 은것을보기에서모두고르면? ( 단, 는 를넘지않는최대의정수이다.

7) 다음의 다음 9) 남학생과 9. zb 여학생 각각 명이 갖고 있는 여름 티 셔츠의 개수를 조사하여 꺾은선그래프로 나타낸 것 이다. 이 두 그래프의 설명으로 옳지 않은 것은? ㄱ. ㄴ. 회째의 수학 점수는 점이다. 수학 점수의 분산은 이다. ㄷ. 영어점수가 수학 점

금오공대 컴퓨터공학전공 강의자료

도형의닮음 1 강 - 닮은도형과닮음중심 사이버스쿨우프선생 닮음도형 : 일정한비율로확대또는축소하였을때닮음모양의도형 기호 : ABCD A'B'C'D' [ 예제 1 ] 그림에서와같이두닮은도형 ABCD 와 A'B'C'D' 에서대응점, 대

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

2015 개정교육과정에따른정보과평가기준개발연구 연구책임자 공동연구자 연구협력관


설계란 무엇인가?

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

untitled

< D312D3220C0CCB5EEBAAFBBEFB0A2C7FC E485750>

Infinity(∞) Strategy

<3235B0AD20BCF6BFADC0C720B1D8C7D120C2FC20B0C5C1FE20322E687770>

<B1B9BEEE412E687770>

C 프로그래밊 개요

Microsoft PowerPoint - chap11-포인터의활용.pptx

고 학년도 9월고수학 1 전국연합학력평가영역문제지 1 1 제 2 교시 수학영역 5 지선다형 3. 두다항식, 에대하여 는? [ 점 ] 1. 의값은? ( 단, ) [ 점 ] 다항식 이 로인수분해될때, 의값은? ( 단,,

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에

OCW_C언어 기초

6.6) 7.7) tan 8.8) 자연수 10.10) 부등식 두 의전개식에서 의계수는? ) 사건 에대하여 P P 일때, P 의값은? ( 단, 은 의여사건이다.) 일때, tan 의값은? log log 을만족시키

Microsoft PowerPoint - chap05-제어문.pptx

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona

Microsoft PowerPoint - ch07 - 포인터 pm0415

제 5 일 년 3월교육청 년 6월평가원 년 9월평가원 년 11월교육청 년경찰대 년 3월교육청 년 6월평가원 년경찰대 년수능 년 10월교육청

7. 인실수 에대하여 log 의지표를 이라할때, 옳 은것을보기에서모두고르면? ( 단, 는 를넘지않는최대의정수이다.) 7 ) ㄱ. log ㄴ. log 의지표는 이다. ㄷ. log log 이면 은 자리의정수 이다. 10. 다음은어느인터넷사이트의지도상단에있는버튼의기능을설명한

프로그램의실행화면 주석 (comment) 두수의합 : 300 /* 두개의숫자의합을계산하는프로그램 */ 주석은코드를설명하는글입니다. 주석 3 가지방법의주석 주석의예 /* 한줄로된주석 */ /* 저자 : 홍길동날짜 : 2013.

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

歯9장.PDF

PowerPoint 프레젠테이션

RYWKVGWKJOFY.hwp

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

C 프로그래밊 개요

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

일반각과호도법 l 삼각함수와미분 1. 일반각 시초선 OX 로부터원점 O 를중심으로 만큼회전이동한위치에동경 OP 가있을때, XOP 의크기를나타내는각들을 ( 은정수 ) 로나타내고 OP 의일반각이라한다. 2. 라디안 rad 반지름과같은길이의호에대한중심각의 크기를 라디안이라한

chap 5: Trees

1교시(공통) 2책형.hwp

Microsoft PowerPoint - chap10-함수의활용.pptx

PARUEFQXXISK.hwp

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

Microsoft PowerPoint - chap-03.pptx

Visual Basic 반복문

풀이이문제는점의집합을확장하는규칙과시작점이주어졌을때, 목표로하는점을만들수있는지의여부를판단하는문제이다. 가능한모든점을직접만들어보는식으로는해결할수없으므로, 점을생성하는규칙에대해서수학적으로분석하는방식으로처리해야한다. 먼저시작점이 (a, a+x) 라고하면, 규칙 1을반복적용해서

쉽게 풀어쓴 C 프로그래밍

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

슬라이드 1

Microsoft PowerPoint - chap04-연산자.pptx

chap x: G입력

Microsoft PowerPoint - chap-11.pptx

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

스무살, 마음껏날아오르기위해, 일년만꾹참자! 2014학년도대학수학능력시험 9월모의평가 18번두이차정사각행렬 가 를만족시킬때, 옳은것만을 < 보기 > 에서있는대로고른것은? ( 단, 는단위행렬이다.) [4점] < 보기 > ㄱ. ㄴ. ㄷ. 2013학년도대학수학능력시험 16번

untitled

본 강의에 들어가기 전

7.7) 정의역이 8.8) 연속확률변수 10.10) 원점을 좌표평면에서 인함수 의그래프가그림 과같다. 9.9 ) 함수 의그래프와함수 의 그래프가만나는점을 라할때, 옳은것만을 < 보기 > 에서있는대로고른것은? lim lim 의값은? < 보기 > ㄱ. ㄴ

Line (A) å j a k= i k #define max(a, b) (((a) >= (b))? (a) : (b)) long MaxSubseqSum0(int A[], unsigned Left, unsigned Right) { int Center, i; long Max

Microsoft PowerPoint - gnu-w10-c-chap11

03장.스택.key

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - Lesson2.pptx

1 장 C 언어복습 표준입출력배열포인터배열과포인터함수 const와포인터구조체컴파일러사용방법 C++ 프로그래밍입문

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션


슬라이드 1


제 11 장포인터 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

Transcription:

- 1 -

2010 초등부문제 1. 나, 아버지, 할아버지의나이관계가다음과같다. 나와아버지의나이차이는 30 이고, 아버지와할아버지의나이차이는 26이고, 나와할아버지의나이합은 90이다. 나는몇살인가? 2. 기약분수는분자와분모의최대공약수가 1 인분수이다. 분수 와분수 사이의 분수중에서분모가 24 인기약분수는몇개인가? 3. 1 부터 2000 까지의정수들중에서 4 의배수이고 6 의배수이면서 5 의배수가아닌 수는몇개인가? 4. 분수 를소수로나타낼때, 소수점이하첫째자리부터 33번째자리까지의모든 자릿수들의합은얼마인가? 5. A, B, C, D, E 5 명이다음과같이말하였다. 이들중한사람만참말을하고나머 지는모두거짓말을하였다. 그러면참말을한사람은누구인가? A: D 가거짓말을하고있다. B: C 는참말을하고있다. C: E 는참말을하고있다. D: B 가거짓말을하고있다. E: A 는참말을하고있다. 6. 정육면체쌓기나무를쌓아올려만든모양을위, 앞, 오른쪽옆의세방향에서보았 더니다음과같았다. 쌓기나무의수는몇개인가? ( 뒤 ) ( 앞 ) 위앞오른쪽옆 - 2 -

7. 다음과같이수들이나열되어있다. 1, 1, 2, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 5, 이때 50번째수는무엇인가? 8. 30, 15, 10, 25, 5, 20을인접한두수들만교환하여 5, 10, 15, 20, 25, 30과같이크기순서대로정렬하고자한다. 최소교환횟수는얼마인가? 9. A, B, C, D 4명의사람들이가지고있는돈의총금액은 1000원이다. 이들 4명이각자가가지고있는돈에대한질문에아래와같이답하였다. A: 나는 C가가지고있는금액의두배를가지고있다. B: 나는 D보다 100원많다. C: 나는 B보다 200원많다. D: 내가가지고있는금액은같은두정수의곱이다. 위의네사람중, 가지고있는돈이 0원인한사람만거짓말을하고있을때, A와 D가가지고있는돈의합은얼마인가? 10. 두척의배가같은위치에서같은방향으로동시에출발하여일정한속도로나아간다. 2시간 30분후두배사이의거리가 10km이었다. 이후 2시간을더항해한후두배사이의거리는몇 km인가? 11. 25개의점이아래와같이놓여있다. 점선으로이은두점사이의거리가모두같다고할때, 서로다른네개의점으로만들수있는정사각형의개수는모두몇개인가? - 3 -

12. 철수네반의각학생은방과후수업으로컴퓨터활용, 홈페이지제작, 프로그래밍의세과목중적어도하나이상을들어야한다. 이들과목들의수업시간은서로다르므로각학생들은여러과목을들을수있다. 이들과목에대하여수업을듣는학생들의수를조사하여다음과같은결과를얻었다. 컴퓨터활용수업을듣는학생들수 : 15 홈페이지제작수업을듣는학생들수 : 20 프로그래밍수업을듣는학생들수 : 10 컴퓨터활용과홈페이지제작수업을듣는학생들수 : 9 컴퓨터활용과프로그래밍수업을듣는학생들수 : 3 홈페이지제작과프로그래밍수업을듣는학생들수 : 5 컴퓨터활용과홈페이지제작과프로그래밍세과목모두수업을듣는학생들수 : 2 철수네반학생들은모두몇명인가? 13. 키가모두다른 10명의학생들 A, B, C, D, E, F, G, H, I, J가순서대로줄을서있다 (A가가장앞에있음 ). 각자뒤에있는사람들중에서자기자신보다키가작은사람의수를세어보았더니아래표와같았다. A B C D E F G H I J 4 5 0 6 3 2 3 1 1 0 E보다키가큰사람은몇명인가? 14. 한변의길이가 3인정육면체가있다. 아래그림과같이각면의중앙에한변의길이가 1인정사각형모양의구멍을뚫었다. 정사각형의각변은정육면체의변과평행하게놓여있다. 구멍은그면에수직한방향으로뚫기시작하여반대쪽면을만날때까지계속한다. 이렇게구멍을뚫은입체도형의겉넓이는얼마인가? - 4 -

15. 다음과같이번식을하는동물이있다 : 1) 태어나서정확히 1년만에 2마리이하의새끼를낳는다. 2) 태어나서 1년이지난이후에는더이상새끼를낳지않는다. 갓태어난새끼한마리로부터번식된동물이이새끼를포함하여모두 270마리였다. 이와같이되는데걸린기간의최소년수는얼마인가? <Visual C++ 사용자용문제 > 문제나프로그램내에명시되지않은변수와배열은모두 int 형이다. 16. 아래프로그램의실행결과는무엇인가? c = 1; for (i = 3 ; i <= 10 ; i++) c++; printf("%d\n", c); 17. 아래프로그램의실행결과는무엇인가? a = 1; b = 2; c = 3; a = b + c; b = c + a; c = a + b; printf("%d\n", a + b + c); 18. 아래와같은프로그램에서 count(5) 를수행한결과는무엇인가? void count(int n) { if (n > 0) count(n - 1); printf("%d ", n); - 5 -

1 0 1 2 3 4 5 2 1 2 3 4 5 3 5 4 3 2 1 0 4 5 4 3 2 1 5 5 5 5 5 5 5 19. 아래프로그램의실행결과는무엇인가? c = 0; for (i = 1 ; i <= 30 ; i++) c = c + (i % 2) + (i % 3) + (i % 5); printf("%d\n", c); 20. 아래프로그램의실행결과는무엇인가? a = 30; b = 16; while (b > 0) { c = a % b; a = b; b = c; printf("%d\n", a); 21. 아래프로그램의실행결과는무엇인가? d[1] = 6; d[2] = 2; d[3] = 1; d[4] = 5; d[5] = 4; d[6] = 2; d[7] = 4; d[8] = 12; s = d[1]; n1 = d[1]; n2 = d[1]; for (i = 2 ; i <= 8 ; i++) { s = s + d[i]; if (d[i] > n1) n1 = d[i]; if (d[i] < n2) n2 = d[i]; printf("%d\n", (s - n1 - n2) / 6); - 6 -

22. 아래프로그램의실행결과는무엇인가? int a[5]; a[0] = 1; a[1] = 3; a[2] = 4; a[3] = 0; a[4] = 2; for (i = 0 ; i <= 4 ; i++) { t = i; for (j = 1 ; j <= 2010 ; j++) t = a[t]; printf("%d ", t); printf("\n"); 1 0 1 2 3 4 2 1 3 2 0 4 3 1 3 4 0 2 4 3 0 2 1 4 5 3 0 4 1 2 [23-24] 아래와같은함수 f 가있다고하자. int f(int a, int b) { if (a <= 0) return b; else return f(a - 1, b * 2) + b; 23. f(3, 2) 의값은무엇인가? 24. 함수 f 를재귀호출 (recursive call) 을사용하지않도록다음과같이수정하였다. int f(int a, int b) { int sum; sum = ᄀ ; while (a > 0) { a--; sum = sum + ᄂ ; b = b * 2; - 7 -

return sum; ᄀ, ᄂ에들어갈내용으로각각알맞은것은? 1 ᄀ : 0 2 ᄀ : 0 3 ᄀ : b ᄂ : b ᄂ : b * 2 ᄂ : b 4 ᄀ : b 5 ᄀ : b * 2 ᄂ : b * 2 ᄂ : b * 2 25. 아래와같은함수 f 가있을때, f(3, 15, 10) 의값은무엇인가? int f(int n, int k, int m) { int a; a = 1; while (k > 0) { if (k % 2 == 1) { a = (a * n) % m; n = (n * n) % m; k = k / 2; return a; 26. 배열 A 에 A[1] 부터 A[10] 까지임의의정수가들어가있을때, 아래와같은프로 그램을사용하여이들을작은것부터차례대로정렬하려고한다. for (i = 1 ; i <= 10 ; i++) for (j = 1 ; j <= if (A[j] > A[j + 1]) { temp = A[j]; A[j] = A[j + 1]; A[j + 1] = temp; ; j++) 다음중빈칸에들어갈수있는내용을모두고르면? - 8 -

가. 9 나. i - 1 다. 10 - i [27-28] 직사각형모양의도화지위에두개의선분이그려져있다. 첫번째선분은도화지의왼쪽변에평행하게놓여있고, 두번째선분은도화지의아래쪽변에평행하게놓여있다. 아래그림과같이도화지의아래쪽변을 x축으로, 왼쪽변을 y축으로놓고좌표평면을만들면양끝점의좌표로각선분의위치를표현할수있다. y (x1, y) (x2, y) (x, y2) (x, y1) x 첫번째선분의아래쪽끝점과위쪽끝점의좌표는각각 (x, y1), (x, y2) 로주어지고, 두번째선분의왼쪽끝점과오른쪽끝점의좌표는각각 (x1, y), (x2, y) 로주어진다. 모든좌표값은정수라고가정한다. 이때, 두선분이서로만나는지를판별하는함수 cross를다음과같이작성하였다. 단, 한선분의끝점이다른선분위에놓여있어도두선분은만나는것으로본다. int cross(int x, int y1, int y2, int y, int x1, int x2) { if ((x ᄀ x1) (x ᄂ x2)) return 0; // 만나지않는다. else if ((y ᄀ y1) (y ᄂ y2)) return 0; // 만나지않는다. else return 1; // 만난다. 27. ᄀ에들어갈내용으로알맞은것은? - 9 -

28. ᄂ에들어갈내용으로알맞은것은? [29-30] 아래와같은프로그램이있다. A[0] = 3; A[1] = 8; A[2] = 12; A[3] = 19; A[4] = 22; B[0] = 2; B[1] = 5; B[2] = 20; B[3] = 25; B[4] = 30; x = 0; y = 0; p = 0; cnt = 0; while (x < 5 && y < 5) { if (A[x] < B[y]) { C[p] = A[x]; x++; else { C[p] = B[y]; y++; cnt++; p++; while (x < 5) { C[p] = A[x]; x++; p++; while (y < 5) { C[p] = B[y]; y++; p++; printf("%d\n", cnt); ᄀ ᄂ ᄃ ᄅ 29. 위프로그램의실행결과는무엇인가? 30. ᄀ ~ ᄅ로표시된문장중에서한번도실행되지않는것은? [31-33] 아래와같은문제를해결하기위해프로그램을작성하였다. 물음에답하여라. - 10 -

문제 0에서부터 9까지의숫자로이루어진 N개의숫자가나열된수열이있다. 그수열안에서연속해서커지거나 ( 같은것포함 ), 혹은연속해서작아지는 ( 같은것포함 ) 수열중가장길이가긴것을찾아내어그길이를출력하는프로그램을작성하라. 예를들어수열 1 2 2 4 4 5 7 7 2 의경우에는 1 2 2 4 4 5 7 7 이가장긴구간이되므로그길이 8을출력한다. 수열 4 1 3 3 2 2 9 2 3 의경우에는 3 3 2 2 가가장긴구간이되므로그길이 4를출력한다. 또 1 5 3 6 4 7 1 3 2 9 5 의경우에는연속해서커지거나작아지는수열의길이가 3 이상인경우가없으므로 2를출력하여야한다. 입력형식 입력파일의이름은 INPUT.TXT 로한다. 첫째줄에는수열의길이 N 이주어지고, 둘째 줄에는 N 개의숫자가빈칸을사이에두고주어진다. N 은 1 이상 1,000 이하의정수이다. 출력형식 출력파일의이름은 OUTPUT.TXT 로한다. 첫째줄에가장긴길이를출력한다. 입력과출력의예 입력 (INPUT.TXT) 9 1 2 2 4 4 5 7 7 2 출력 (OUTPUT.TXT) 8 프로그램 #include <stdio.h> int n; int a[1000]; - 11 -

int main() { int now, up, down, r; int i; FILE* fin = fopen("input.txt", "r"); fscanf(fin, "%d", &n); for (i = 0 ; i <= n - 1 ; i++) fscanf(fin, "%d", &a[i]); fclose(fin); now = a[0]; up = ᄀ ; down = ᄀ ; r = ᄂ ; for (i = 1 ; i <= n - 1 ; i++) { if (now == a[i]) { ᄃ else if (now < a[i]) { up++; down = 1; else { up = 1; down++; now = a[i]; if (r < up) r = up; if (r < down) r = down; (a) FILE* fout = fopen("output.txt", "w"); fprintf(fout, "%d\n", r); fclose(fout); return 0; - 12 -

31. ᄀ, ᄂ에들어갈값은각각무엇인가? 1 0, 0 2 0, 1 3 1, 0 4 1, 1 5 1, -1 32. 다음중ᄃ에들어가야하는내용은무엇인가? 33. 다음중입력으로주어졌을때 (a) 의밑줄친부분이실행되지않는수열은? 1 0 1 2 2 1 4 7 8 8 2 3 5 2 1 8 2 7 5 9 3 4 2 1 3 5 6 7 8 9 4 5 5 5 5 6 6 8 9 9 5 9 8 7 6 5 4 3 2 1 [34-35] 아래와같은문제를해결하기위해프로그램을작성하였다. 물음에답하여라. 문제 KOI 통신연구소는레이저를이용한새로운비밀통신시스템개발을위한실험을하고있다. 실험을위하여일직선위에 N개의높이가서로다른탑을수평직선의왼쪽부터오른쪽방향으로차례로세우고, 각탑의꼭대기에레이저송신기를설치하였다. 모든탑의레이저송신기는레이저신호를지표면과평행하게수평직선의왼쪽방향으로발사하고, 탑의기둥모두에는레이저신호를수신하는장치가설치되어있다. 하나의탑에서발사된레이저신호는가장먼저만나는단하나의탑에서만수신이가능하다. 예를들어높이가 6, 9, 5, 7, 4인다섯개의탑이수평직선에일렬로서있고, 모든탑에서는주어진탑순서의반대방향 ( 왼쪽방향 ) 으로동시에레이저신호를발사한다고하자. 그러면, 높이가 4인다섯번째탑에서발사한레이저신호는높이가 7인네번째탑이수신을하고, 높이가 7인네번째탑의신호는높이가 9인두번째탑이, 높이가 5인세번째탑의신호도높이가 9인두번째탑이수신을한다. 높이가 9인두번째탑과높이가 6 인첫번째탑이보낸레이저신호는어떤탑에서도수신을하지못한다. 탑들의개수 N과탑들의높이가주어질때, 각각의탑에서발사한레이저신호를어느탑에서수신하는지를알아내는프로그램을작성하라. - 13 -

입력형식 입력파일의이름은 INPUT.TXT 로한다. 첫째줄에탑의수를나타내는정수 N 이주어 진다. N 은 1 이상 1,000 이하이다. 둘째줄에는 N 개의탑들의높이가직선상에놓인순서 대로하나의빈칸을사이에두고주어진다. 탑들의높이는 1 이상 10,000 이하의정수이다. 출력형식 출력파일의이름은 OUTPUT.TXT 로한다. 첫째줄에주어진탑들의순서대로각각의탑 들에서발사한레이저신호를수신한탑들의번호를하나의빈칸을사이에두고출력한다. 만약레이저신호를수신하는탑이존재하지않으면 0 을출력한다. 입력과출력의예 입력 (INPUT.TXT) 5 6 9 5 7 4 출력 (OUTPUT.TXT) 0 0 2 2 4 프로그램 #include <stdio.h> int n; int h[1001]; int out[1001]; int stack[1001]; int p; int main() { int i; FILE* fin = fopen("input.txt", "r"); - 14 -

fscanf(fin, "%d", &n); for (i = 1 ; i <= n ; i++) fscanf(fin, "%d", &h[i]); fclose(fin); for (i = 1 ; i <= n ; i++) out[i] = 0; p = 1; for (i = n ; i >= 1 ; i--) { (a) while (p > 1 && ᄀ < h[i]) { (b) p--; out[stack[p]] = i; (c) stack[p] = i; (d) p++; (e) FILE* fout = fopen("output.txt", "w"); for (i = 1 ; i <= n ; i++) fprintf(fout, "%d ", out[i]); fclose(fout); return 0; 34. ᄀ에들어갈내용은무엇인가? 1 h[p] 2 h[p - 1] 3 h[stack[i]] 4 h[stack[p]] 5 h[stack[p - 1]] 35. 문제에서밑줄친부분을다음과같이수정하였다. 모든탑의레이저송신기는레이저신호를지표면과평행하게수평직선의오른쪽방향으로발사하고, 탑의기둥모두에는레이저신호를수신하는장치가설치되어있다. 하나의탑에서발사된레이저신호는가장먼저만나는단하나의탑에서만수신이가능하다. 예를들어높이가 6, 9, 5, 7, 4인다섯개의탑이수평직선에일렬로서있고, 모든탑에서는주어진탑순서와같은방향 ( 오른쪽방향 ) 으로동시에레이저신호를발사한다고하자. - 15 -

프로그램에서 (a)~(e) 로표시된줄중에서단한줄만을고쳐, 수정된문제를해 결하려고한다. (a)~(e) 중에서고쳐야하는것은? <Visual Basic 사용자용문제 > 문제나프로그램내에명시되지않은변수와배열은모두 Integer 형이다. 16. 아래프로그램의실행결과는무엇인가? c = 1 For i = 3 To 10 c = c + 1 Next i Debug.Print c 17. 아래프로그램의실행결과는무엇인가? a = 1: b = 2: c = 3 a = b + c b = c + a c = a + b Debug.Print a + b + c 18. 아래와같은프로그램에서 Call count(5) 를수행한결과는무엇인가? Sub count(n As Integer) If n > 0 Then Call count(n - 1) End If Debug.Print n; End Sub 1 0 1 2 3 4 5 2 1 2 3 4 5 3 5 4 3 2 1 0 4 5 4 3 2 1 5 5 5 5 5 5 5-16 -

19. 아래프로그램의실행결과는무엇인가? c = 0 For i = 1 To 30 c = c + (i Mod 2) + (i Mod 3) + (i Mod 5) Next i Debug.Print c 20. 아래프로그램의실행결과는무엇인가? a = 30: b = 16 While b > 0 c = a Mod b a = b b = c Wend Debug.Print a 21. 아래프로그램의실행결과는무엇인가? d(1) = 6: d(2) = 2: d(3) = 1: d(4) = 5 d(5) = 4: d(6) = 2: d(7) = 4: d(8) = 12 s = d(1) n1 = d(1) n2 = d(1) For i = 2 To 8 s = s + d(i) If d(i) > n1 Then n1 = d(i) If d(i) < n2 Then n2 = d(i) Next i Debug.Print Int((s - n1 - n2) / 6) 22. 아래프로그램의실행결과는무엇인가? - 17 -

Dim a(5) As Integer a(0) = 1: a(1) = 3: a(2) = 4: a(3) = 0: a(4) = 2 For i = 0 To 4 t = i For j = 1 To 2010 t = a(t) Next j Debug.Print t; Next i 1 0 1 2 3 4 2 1 3 2 0 4 3 1 3 4 0 2 4 3 0 2 1 4 5 3 0 4 1 2 [23-24] 아래와같은함수 f 가있다고하자. Function f(a As Integer, b As Integer) As Integer If a <= 0 Then f = b Else f = f(a - 1, b * 2) + b End If End Function 23. f(3, 2) 의값은무엇인가? 24. 함수 f 를재귀호출 (recursive call) 을사용하지않도록다음과같이수정하였다. Function f(a As Integer, b As Integer) As Integer Dim sum As Integer sum = ᄀ While a > 0 a = a - 1 sum = sum + ᄂ b = b * 2 Wend f = sum End Function - 18 -

ᄀ, ᄂ에들어갈내용으로각각알맞은것은? 1 ᄀ : 0 2 ᄀ : 0 3 ᄀ : b ᄂ : b ᄂ : b * 2 ᄂ : b 4 ᄀ : b 5 ᄀ : b * 2 ᄂ : b * 2 ᄂ : b * 2 25. 아래와같은함수 f 가있을때, f(3, 15, 10) 의값은무엇인가? Function f(n As Integer, k As Integer, m As Integer) As Integer Dim a As Integer a = 1 While k > 0 If k Mod 2 = 1 Then a = (a * n) Mod m End If n = (n * n) Mod m k = Int(k / 2) Wend f = a End Function 26. 배열 A 에 A(1) 부터 A(10) 까지임의의정수가들어가있을때, 아래와같은프로 그램을사용하여이들을작은것부터차례대로정렬하려고한다. For i = 1 To 10 For j = 1 To If A(j) > A(j + 1) Then temp = A(j) A(j) = A(j + 1) A(j + 1) = temp End If Next j Next i 다음중빈칸에들어갈수있는내용을모두고르면? - 19 -

가. 9 나. i - 1 다. 10 - i [27-28] 직사각형모양의도화지위에두개의선분이그려져있다. 첫번째선분은도화지의왼쪽변에평행하게놓여있고, 두번째선분은도화지의아래쪽변에평행하게놓여있다. 아래그림과같이도화지의아래쪽변을 x축으로, 왼쪽변을 y축으로놓고좌표평면을만들면양끝점의좌표로각선분의위치를표현할수있다. y (x1, y) (x2, y) (x, y2) (x, y1) x 첫번째선분의아래쪽끝점과위쪽끝점의좌표는각각 (x, y1), (x, y2) 로주어지고, 두번째선분의왼쪽끝점과오른쪽끝점의좌표는각각 (x1, y), (x2, y) 로주어진다. 모든좌표값은정수라고가정한다. 이때, 두선분이서로만나는지를판별하는함수 cross를다음과같이작성하였다. 단, 한선분의끝점이다른선분위에놓여있어도두선분은만나는것으로본다. Function cross(x As Integer, y1 As Integer, y2 As Integer, _ y As Integer, x1 As Integer, x2 As Integer) As Integer If (x ᄀ x1) Or (x ᄂ x2) Then cross = 0 ' 만나지않는다. ElseIf (y ᄀ y1) Or (y ᄂ y2) Then cross = 0 ' 만나지않는다. Else cross = 1 ' 만난다. End If End Function 27. ᄀ에들어갈내용으로알맞은것은? - 20 -

28. ᄂ에들어갈내용으로알맞은것은? [29-30] 아래와같은프로그램이있다. A(0) = 3: A(1) = 8: A(2) = 12: A(3) = 19: A(4) = 22 B(0) = 2: B(1) = 5: B(2) = 20: B(3) = 25: B(4) = 30 x = 0: y = 0: p = 0 cnt = 0 While x < 5 And y < 5 If A(x) < B(y) Then C(p) = A(x) x = x + 1 Else C(p) = B(y) y = y + 1 End If cnt = cnt + 1: p = p + 1 Wend While x < 5 C(p) = A(x) x = x + 1: p = p + 1 Wend While y < 5 C(p) = B(y) y = y + 1: p = p + 1 Wend Debug.Print cnt ᄀ ᄂ ᄃ ᄅ 29. 위프로그램의실행결과는무엇인가? 30. ᄀ ~ ᄅ로표시된문장중에서한번도실행되지않는것은? [31-33] 아래와같은문제를해결하기위해프로그램을작성하였다. 물음에답하여라. - 21 -

문제 0에서부터 9까지의숫자로이루어진 N개의숫자가나열된수열이있다. 그수열안에서연속해서커지거나 ( 같은것포함 ), 혹은연속해서작아지는 ( 같은것포함 ) 수열중가장길이가긴것을찾아내어그길이를출력하는프로그램을작성하라. 예를들어수열 1 2 2 4 4 5 7 7 2 의경우에는 1 2 2 4 4 5 7 7 이가장긴구간이되므로그길이 8을출력한다. 수열 4 1 3 3 2 2 9 2 3 의경우에는 3 3 2 2 가가장긴구간이되므로그길이 4를출력한다. 또 1 5 3 6 4 7 1 3 2 9 5 의경우에는연속해서커지거나작아지는수열의길이가 3 이상인경우가없으므로 2를출력하여야한다. 입력형식 입력파일의이름은 INPUT.TXT 로한다. 첫째줄에는수열의길이 N 이주어지고, 둘째 줄에는 N 개의숫자가빈칸을사이에두고주어진다. N 은 1 이상 1,000 이하의정수이다. 출력형식 출력파일의이름은 OUTPUT.TXT 로한다. 첫째줄에가장긴길이를출력한다. 입력과출력의예 입력 (INPUT.TXT) 9 1 2 2 4 4 5 7 7 2 출력 (OUTPUT.TXT) 8 프로그램 Dim n As Integer Dim a(1000) As Integer Sub Main() - 22 -

Dim now As Integer, up As Integer, down As Integer, r As Integer Dim i As Integer Open "INPUT.TXT" For Input As #1 Input #1, n For i = 0 To n - 1 Input #1, a(i) Next i Close #1 now = a(0) up = ᄀ : down = ᄀ r = ᄂ For i = 1 To n - 1 If now = a(i) Then ᄃ ElseIf now < a(i) Then up = up + 1 down = 1 Else up = 1 down = down + 1 End If now = a(i) If r < up Then r = up End If If r < down Then r = down End If Next i (a) Open "OUTPUT.TXT" For Output As #2 Print #2, r Close #2 End Sub 31. ᄀ, ᄂ에들어갈값은각각무엇인가? - 23 -

1 0, 0 2 0, 1 3 1, 0 4 1, 1 5 1, -1 32. 다음중ᄃ에들어가야하는내용은무엇인가? 33. 다음중입력으로주어졌을때 (a) 의밑줄친부분이실행되지않는수열은? 1 0 1 2 2 1 4 7 8 8 2 3 5 2 1 8 2 7 5 9 3 4 2 1 3 5 6 7 8 9 4 5 5 5 5 6 6 8 9 9 5 9 8 7 6 5 4 3 2 1 [34-35] 아래와같은문제를해결하기위해프로그램을작성하였다. 물음에답하여라. 문제 KOI 통신연구소는레이저를이용한새로운비밀통신시스템개발을위한실험을하고있다. 실험을위하여일직선위에 N개의높이가서로다른탑을수평직선의왼쪽부터오른쪽방향으로차례로세우고, 각탑의꼭대기에레이저송신기를설치하였다. 모든탑의레이저송신기는레이저신호를지표면과평행하게수평직선의왼쪽방향으로발사하고, 탑의기둥모두에는레이저신호를수신하는장치가설치되어있다. 하나의탑에서발사된레이저신호는가장먼저만나는단하나의탑에서만수신이가능하다. 예를들어높이가 6, 9, 5, 7, 4인다섯개의탑이수평직선에일렬로서있고, 모든탑에서는주어진탑순서의반대방향 ( 왼쪽방향 ) 으로동시에레이저신호를발사한다고하자. 그러면, 높이가 4인다섯번째탑에서발사한레이저신호는높이가 7인네번째탑이수신을하고, 높이가 7인네번째탑의신호는높이가 9인두번째탑이, 높이가 5인세번째탑의신호도높이가 9인두번째탑이수신을한다. 높이가 9인두번째탑과높이가 6 인첫번째탑이보낸레이저신호는어떤탑에서도수신을하지못한다. 탑들의개수 N과탑들의높이가주어질때, 각각의탑에서발사한레이저신호를어느탑에서수신하는지를알아내는프로그램을작성하라. - 24 -

입력형식 입력파일의이름은 INPUT.TXT 로한다. 첫째줄에탑의수를나타내는정수 N 이주어 진다. N 은 1 이상 1,000 이하이다. 둘째줄에는 N 개의탑들의높이가직선상에놓인순서 대로하나의빈칸을사이에두고주어진다. 탑들의높이는 1 이상 10,000 이하의정수이다. 출력형식 출력파일의이름은 OUTPUT.TXT 로한다. 첫째줄에주어진탑들의순서대로각각의탑 들에서발사한레이저신호를수신한탑들의번호를하나의빈칸을사이에두고출력한다. 만약레이저신호를수신하는탑이존재하지않으면 0 을출력한다. 입력과출력의예 입력 (INPUT.TXT) 5 6 9 5 7 4 출력 (OUTPUT.TXT) 0 0 2 2 4 프로그램 Dim n As Integer Dim h(1001) As Integer Dim out(1001) As Integer Dim stack(1001) As Integer Dim p As Integer Sub main() Dim i As Integer Open "INPUT.TXT" For Input As #1 Input #1, n For i = 1 To n Input #1, h(i) - 25 -

Next i Close #1 For i = 1 To n Next i out(i) = 0 p = 1 For i = n To 1 Step -1 (a) While p > 1 And ᄀ < h(i) (b) p = p - 1 out(stack(p)) = i (c) Wend stack(p) = i (d) p = p + 1 (e) Next i Open "OUTPUT.TXT" For Output As #2 For i = 1 To n Print #2, out(i); Next i Close #2 End Sub 34. ᄀ에들어갈내용은무엇인가? 1 h(p) 2 h(p - 1) 3 h(stack(i)) 4 h(stack(p)) 5 h(stack(p - 1)) 35. 문제에서밑줄친부분을다음과같이수정하였다. 모든탑의레이저송신기는레이저신호를지표면과평행하게수평직선의오른쪽방향으로발사하고, 탑의기둥모두에는레이저신호를수신하는장치가설치되어있다. 하나의탑에서발사된레이저신호는가장먼저만나는단하나의탑에서만수신이가능하다. 예를들어높이가 6, 9, 5, 7, 4인다섯개의탑이수평직선에일렬로서있고, 모든탑에서는주어진탑순서와같은방향 ( 오른쪽방향 ) 으로동시에레이저신호를발사한다고하자. - 26 -

프로그램에서 (a)~(e) 로표시된줄중에서단한줄만을고쳐, 수정된문제를해 결하려고한다. (a)~(e) 중에서고쳐야하는것은? - 27 -

- 28 -

2010 초등부정답 1. 4 2. 3 3. 1 4. 5 5. 4 6. 3 7. 2 8. 2 9. 4 10. 1 11. 5 12. 5 13. 2 14. 3 15. 3 16. 3 17. 5 18. 1 19. 3 20. 2 21. 2 22. 1 23. 3 24. 4 25. 4 26. 5 27. 1 28. 2 29. 3 30. 3 31. 4 32. 3 33. 4 34. 5 35. 1-29 -