29 학년도중등학교교사임용후보자선정경쟁시험 정보 컴퓨터 수험번호 : ( ) 성명 : ( ) 제 차시험 2 교시전공 A 4 문항 4 점시험시간 9 분 문제지전체면수가맞는지확인하시오. 모든문항에는배점이표시되어있습니다. 3. 다음은 을만족하는이진트리이다. 트리를구성하는노드에저장된키값들이, 2, 3, 4, 5일때, ᄀ, ᄂ에들어갈키값을순서대로쓰시오. [2점]. 다음은 25 개정정보과교육과정내용체계의일부이다. 제시된핵심개념, 일반화된지식, 내용요소를참고하여괄호안의ᄀ, ᄂ에해당하는용어를순서대로쓰시오. [2점] 영역 핵심개념 일반화된지식 중학교 내용요소 고등학교 기능 정보사회는정보의생산과활용이중심정보이되는사회이며, 정보사회의 정보과학과사회정보와관련된특성과진로진로새로운직업이등장하고있다. ( ᄀ ) ( 생략 ) 정보보호와 ( ᄂ ) 은 / 는정보 개인정보와보안사회에서구성원이저작권 저작권 ( ᄂ ) 지켜야하는올바른보호활용가치관과행동양식 사이버 사이버이다. 윤리윤리 2. 다음은 C 언어유형의알고리즘이다. 을고려하여 partition(, 5) 의수행을완료하였을때, List[3] 의값을순서대로쓰시오. [2 점 ] 반환되는값과 ( 조건) 이진트리의모든노드는서로다른키값을갖는다. ( 조건2) 이진트리로서공백일수있고, 만약공백이아니면해당이진트리의루트노드를 R이라할때, 다음과같은성질을갖는다. 성질. R의왼쪽서브트리에있는모든노드의키값은 R의키값보다작다. 성질2. R의오른쪽서브트리에있는모든노드의키값은 R의키값보다크다. 성질3. R의왼쪽서브트리와오른쪽서브트리모두 ( 조건2) 를만족하는트리이다. int partition(int left, int right) { int j, k = left, pivot_point = left; for (j = left+; j <= right; j++) if (List[j] < List[pivot_point]) { k++; swap(list[j], List[k]); pivot_point = k; swap(list[left], List[pivot_point]); return pivot_point; 배열 List의초기값은 {7,, 9, 5, 3, 8 이다. 배열 List의첨자 ( 인덱스 ) 는 부터시작한다. swap(int a, int b) 는 a와 b의값을서로교환하는함수이다. 정보 컴퓨터 [ 전공 A] (8 면중 2 면 )
4. 운영체제 S의프로세스관리와관련하여 는프로세스 A, B, C에대한스케줄링상황을, 는관리대상프로세스들의상태전이도를보여준다. 을고려하여 에따라쓰시오. [2점] 5. 는학사관리데이터베이스의릴레이션들이고, 는 로부터과목번호 53435를수강신청하지않은학생의학생번호와학생이름을검색하는 SQL문이다. 을고려하여ᄀ에해당하는내용과, SQL문의실행결과에나오는튜플의개수를순서대로쓰시오. [2점] Student ( 기본키 : Student_id) Student_id Student_name Tel Address 김영희 4 서울 232 이수남 422 부산 35 박종화 455 대구 43 송기태 43 대전 5226 이남천 4623 광주 Enroll ( 기본키 : Student_id, Course_id) 는시점 t 부터 t 2 까지발생한사건들과수행된프로세스들을시간순으로보여준다. 에표시된사건이외에프로세스의상태를전이시키는사건은시점 t 과 t 2 사이에발생하지않는것으로가정한다. 에제시된프로세스의상태는다음을의미한다. - 수행상태 :CPU가할당되어수행되고있는상태 - 준비상태 :CPU 할당을기다리고있는상태 - 블록상태 : 입출력을요청한후완료되기를기다리고있는상태 시점 t 에프로세스 A와 B는준비상태에있고, 프로세스 C는블록상태에있다. 의상황에서, 시점 t 부터 t 2 까지 의 4가지상태전이 (a, b, c, d) 를모두거치는프로세스의이름과, 시점 t 2 에블록상태에있게되는프로세스의이름을순서대로쓸것. Student_id Course_id Grade Mid_term Final_term 223 B 85 8 345 A 95 9 35 223 A 9 9 35 345 B 85 8 35 45622 A 9 93 43 223 C 75 76 43 45622 A 92 9 43 53435 A 9 92 5226 223 B 84 85 5226 53435 A 9 93 SELECT Student_id, Student_name FROM Student WHERE Student_id ( ᄀ ) (SELECT Student_id FROM Enroll WHERE Course_id = 53435); 릴레이션 Student 는학생, Enroll은수강등록을의미한다. 릴레이션 Student 에서 Student_id 는학생번호, Student_name은 학생이름, Tel은전화번호, Address 는주소를의미한다. 릴레이션 Enroll에서 Student_id는학생번호, Course_id는 과목번호, Grade 는성적, Mid_term 은중간성적, Final_term 은 기말성적을의미한다. 정보 컴퓨터 [ 전공 A] (8 면중 3 면 )
6. 다음은문자열을처리하는 C 프로그램이다. 프로그램의실행결과를쓰시오. [2점] 7. 다음은가상의 ST 플립플롭과입력 x, 출력 A로구성된순차논리회로이다. 을고려하여 에따라쓰시오. [2점] #include <stdio.h> int strchr(char *str, char ch) { int idx = ; while (*str) { if (*str == ch) return idx; str++; idx++; return -; int rstrchr(char *str, char ch) { int idx; for (idx = ; str[idx]!= '\'; idx++) ; for (idx--; idx >= ; idx--) if (str[idx] == ch) return idx; return -; void main(void) { char str[ ] = "university"; printf("%d", strchr(str, 'i')); printf("%d", rstrchr(str, 'i')); ST 플립플롭의특성표는다음과같다. S T Q t Q t Q t Q t 는현재상태, Q t 은다음상태를의미한다. Q t 는 Q t 의보수 (complement) 를의미한다. CP는 Clock Pulse를의미한다. 현재상태 A t 와입력 x에따른다음상태 A t 을나타낸ᄀ, ᄂ에해당하는값을순서대로쓸것. 현재상태 A t x 다음상태 A t x ᄀ ᄂ 정보 컴퓨터 [ 전공 A] (8 면중 4 면 )
8. 다음은네트워크주소변환 (NAT : Network Address Translation) 기능을사용하여사설네트워크와외부네트워크를연결하는구성도이다. 을고려하여ᄀ, ᄂ에해당하는 IP 주소를순서대로쓰시오. [2점] 9. 는 25 개정중학교정보과교육과정성격에제시된내용의일부이고, 는정보과수업에서수행된활동이다. 에따라쓰시오. [4점] ( 상략 ) 정보교과에서추구하는교과역량은 정보문화소양, 컴퓨팅사고력, 협력적문제해결력 으로역량별의미와하위요소는다음과같다. 사설 IP 주소 92.68..5를사용하는호스트가공인 IP 주소 2.7..을사용하는호스트에접근한다고가정한다. NAT 라우터 A는사설네트워크에서전달된패킷의 IP 주소를공인 IP 주소로변환하고, 그역방향의변환도수행한다. 사설네트워크와연결된라우터 A의인터페이스 IP 주소는 92.68..이고, 외부네트워크와연결된라우터 A의인터페이스 IP 주소는 22.45.9.7이다. 라우터 A는 NAT 서비스를수행하기위해 IP 주소풀 (address pool) 을지니고있고, 라우터 A의주소풀에는 22.45.9.7 주소만존재한다고가정한다. 은 NAT 라우터 A가사설네트워크에서전달된패킷의사설 IP 주소를공인 IP 주소로변환하는과정이다. 2는 NAT 라우터 A가외부네트워크에서전달된패킷의공인 IP 주소를사설 IP 주소로변환하는과정이다. 정보문화소양 은정보사회의가치를이해하고정보사회구성원으로서윤리의식과시민의식을갖추고정보기술을활용하여문제를해결할수있는능력을말한다. 정보문화소양 은 정보윤리의식, 정보보호능력, 정보기술활용능력 을포함한다. 컴퓨팅사고력 은컴퓨터과학의기본개념과원리및컴퓨팅시스템을활용하여실생활과다양한학문분야의문제를이해하고창의적으로해법을구현하여적용할수있는능력을말한다. 컴퓨팅사고력 은 추상화능력 과프로그래밍으로대표되는 ( ᄀ ) 능력, 창의 융합능력 을포함한다. 추상화는문제의복잡성을제거하기위해사용하는기법으로핵심요소추출, 문제분해, 모델링, 분류, 일반화등의방법으로이루어진다. 추상화과정을통해도출된문제해결모델은프로그래밍을통해 ( ᄀ ) 된다. 협력적문제해결력 은네트워크컴퓨팅환경에기반한다양한지식 학습공동체에서공유와효율적인의사소통, 협업을통해문제를창의적으로해결할수있는능력을말한다. 협력적문제해결력 은 협력적컴퓨팅사고력, 디지털의사소통능력, 공유와협업능력 을포함한다. ( 하략 ) 25 개정중학교정보과교육과정의내용체계에제시된 제어구조 의학습요소인 순차구조, 선택구조, ( ᄂ ) 구조 가적용된실생활사례를탐색하기위해ᄃ개인별로스마트패드나노트북을활용하였다. () 에제시된내용을참고하여괄호안의ᄀ에해당하는용어를쓸것. (2) 괄호안의ᄂ에해당하는용어를쓸것. (3) 밑줄친ᄃ에해당하는정보과교과역량을쓰고, 그역량의하위요소중ᄃ과가장관련깊은 가지를쓸것. 정보 컴퓨터 [ 전공 A] (8 면중 5 면 )
. 는고등학생들의수업참여도와흥미를높이기위한 A 교사의 수업의도 와수업에도입할 문제상황 이다. 는추상화, 알고리즘, 프로그래밍을연계한학습활동계획이다. 을고려하여 에따라서술하시오. [4점] 수업의도 문제상황 A 교사는수업참여도와흥미를높이기위해실생활문제를수업에도입한다. K 학생이사과 개를사러 H 마트에갔다. 마트에도착했을때, 아래와같은서로다른할인율이적용된사과포장단위가격표를보게되었다. K 학생이가장저렴한가격으로사과 개를살수있는방법은? () 25 개정고등학교정보과교육과정의 프로그래밍 핵심개념에대한 교수 학습방법및유의사항 에제시된팀구성원의적극적참여를유도하기위해괄호안의ᄀ에해당하는활동을서술할것. (2) 괄호안의ᄂ에해당하는목표상태를서술할것. (3) 괄호안의ᄃ에해당하는핵심요소를쓰고, 그이유를서술할것. 포장단위 ( 개 ) 2 3 4 5 가격 ( 원 ) 3 5 8,,4 학습단계학습활동구성계획유의사항 프로젝트계획단계 팀구성및팀별과제안내 ( ᄀ ) 프로젝트실행단계안내 적극적참여유도전략 현재상태찾기유도 - 가장저렴하게살수있는사과 개의 가격을모르는상태 목표상태찾기유도 -( ᄂ ) 수행할일정리유도 - 사과가격표를참고하여사과 개의 구매가격계산 프로젝트실행단계 추상화 - 최종계산값을비교하여가장저렴한가격확정 핵심요소추출유도 - 구매하려는사과개수는 개임 -( ᄃ ) 협력적문제해결 - 가장저렴하게구매하려고함 가격표의가격을조합하여계산식 만들기유도 - 가장저렴하게사과를살수있는 가격계산모델만들기 알고리즘 ( 생략 ) 프로그래밍 ( 생략 ) 괄호안의ᄂ은 의 현재상태 에대한 목표상태 로한정한다. 괄호안의ᄃ은 에제시된 문제상황 에서찾는것으로한정한다. 정보 컴퓨터 [ 전공 A] (8 면중 6 면 )
. 는 25 개정중학교정보과교육과정의 컴퓨팅시스템 영역에대한 교수 학습방법및유의사항 의일부이고, 는 25 개정고등학교정보과교육과정의 교수 학습및평가의방향 에제시된내용의일부를재구성한것이다. ( 다 ) 는중학교 A 교사와고등학교 B 교사의 피지컬컴퓨팅 핵심개념수업에대한대화이다. 에따라서술하시오. [4점] 2. 다음은 TCP(Transmission Control Protocol) 에서호스트 A 와 B 사이에세그먼트 (segment) 를송수신하는과정을나타낸것이다. 을고려하여 에따라서술하시오. [4점] ( 상략 ) 센서기반프로그램구현시, 학습자수준과 ( ᄀ ) 을 / 를고려하여센서의종류와개수를결정하고피지컬컴퓨팅의흥미와동기를부여할수있는주제를선정하여적용한다. 피지컬컴퓨팅장치의구성보다는제어를위한동작설계와 ( ᄂ ) 과정에중점을두고지도하며가급적 문제해결과프로그래밍 영역에서선택한프로그래밍언어를사용하도록한다. ( 하략 ) 피지컬컴퓨팅의경우, 그룹을만들어서로협력해서피지컬컴퓨팅시스템을직접구현하도록지도하고, 협력적문제해결수행을통해의사소통능력, 창의 융합적사고능력, 정보처리능력을함양할수있도록한다. ( 다 ) A 교사 : 저희중학교에서는센서기반프로그램을구현하는수업을위해먼저, 학습자수준, 학교에구비된시설과교구등을파악하려합니다. B 교사 : 고등학교는중학교보다교수내용측면에서수준이높아서마이크로컨트롤러와다양한입 출력장치를도입해야할것같습니다. 수업은어떻게운영하실생각이세요? A 교사 : 프로그램작성에앞서학생들이피지컬컴퓨팅교구의움직임을미리그려보게하려고요. B 교사 : ᄃ저는개인별활동을기반으로마이크로컨트롤러와다양한입 출력장치를도입하고, 학습지에안내된순서에따라피지컬컴퓨팅을실습하게하려고합니다. () ( 다 ) 에제시된 A 교사와 B 교사의대화를참고하여괄호안의ᄀ, ᄂ에해당하는내용을순서대로쓸것. (2) B 교사가 의내용대로수업을운영한다고가정할경우, 밑줄친ᄃ에서수정할 2가지를서술할것. SYN과 ACK 다음에나오는숫자는각각세그먼트전송시 TCP 헤더에있는순서번호 (sequence number) 와확인응답번호 (acknowledgement number) 를나타낸다. SN은전송할데이터를담고있는세그먼트를의미하고, SN 다음에나오는숫자는세그먼트전송시 TCP 헤더에있는순서번호를나타낸다. W는수신측에서송신측으로전송하는수신윈도우크기로, 바이트 (byte) 단위이다. 즉, W=3 은수신측윈도우크기가 3바이트임을의미한다. 송신윈도우크기는혼잡제어를위해혼잡윈도우크기와수신측으로부터수신한윈도우크기 W를이용하여결정된다. 시점 t 부터 A가전송하는세그먼트의크기는 바이트이고, 세그먼트내에는긴급데이터가없다. 시점 t 이후부터 B에서수신한세그먼트중수신측응용프로그램이 TCP 수신버퍼로부터제거한세그먼트는없다고가정한다. 송신측에서전송한세그먼트중수신측의동작여부를확인하는윈도우탐침 (window probe) 세그먼트는없다고가정한다. () 시점 t 2 에서ᄀ에들어갈 B의수신윈도우크기 W를쓸것. (2) 시점 t 3 에서 A가계산한혼잡윈도우 (congestion window) 크기가 3바이트라고가정할때 A의송신윈도우크기를쓸것. (3) ᄂ의세그먼트전송이가능한지여부를쓰고, 그이유를서술할것. 정보 컴퓨터 [ 전공 A] (8 면중 7 면 )
3. 다음은 에기술된 copyandsort 함수를사용해작성한 C 프로그램의일부이다. 에따라쓰시오. [4점] int compare(int a[ ], int b[ ], int n) { int i, diff, *p, *q; if (n <= ) return ; p = malloc(n * sizeof(int)); q = malloc(n * sizeof(int)); copyandsort(a, n, p); /* 참조 */ copyandsort(b, n, q); /* 참조 */ for (diff = i = ; i < n; i++) if (p[i]!= q[i]) { diff = p[i] - q[i]; break; free(p), free(q); return diff; int uniques(int a[ ], int n) { int i, count = ; if (n > ) { int *p = malloc(n * sizeof(int)); copyandsort(a, n, p); /* 참조 */ for (count++, i = ; i < n; i++) if (p[i-]!= p[i]) count++; free(p); return count; void main( ) { int a[ ] = {7, 3, 3, 8, 2, 7, 3, 3, 5, 2; int b[ ] = {3, 8, 2, 5, 7, 3; int c[ ] = {2, a, 7, 3, 7, 5, 3, b, 3, 8; ᄀ printf("%d %d\n", compare(a, b, 6), uniques(a, )); ᄂ printf("%d\n", compare(a, c, )); 함수 copyandsort는다음의인터페이스와기능을제공한다. - void copyandsort(int s[ ], int n, int t[ ]): 배열 s ( 인덱스 부터 n-까지의항목 ) 에저장된 n개의정수값들의오름차순정렬결과를배열 t( 인덱스 부터 n-까지의항목 ) 에저장한다. 함수수행과정에서배열 s는변경되지않는다. 4. 는가상의데이터베이스관리시스템 A에서처리하는트랜잭션이다. 는트랜잭션 T이시간에따라수행되는과정이다. 을고려하여 에따라서술하시오. [4점] read(x) read(y) Y:=Y+X write(y) read(z) Z:=Z+3 write(z) T T2 T3 a read(x) b read(y) c read(z) d read(x) e read(z) f read(y) 데이터베이스관리시스템 A는동시성제어를하지않는다. read( ), write( ) 연산은데이터베이스연산이다. ᄀ은 t 2 와 t 3 사이, ᄂ은 t 3 과 t 4 사이, ᄃ은 t 4 와 t 5 사이의시간구간이다. 임의의트랜잭션 Ta와 Tb에대한스케줄이 직렬가능 (serializable) 하다는것은두트랜잭션의동시처리결과가다음중 가지와일치한다는것을의미한다. -Ta가먼저시작 종료된후 Tb가시작 종료될경우의결과 -Tb가먼저시작 종료된후 Ta가시작 종료될경우의결과 () T2가 T과동시처리되면서연산 b는구간ᄀ에서, 연산 c는구간ᄃ에서수행될때, T과 T2에대한스케줄이 직렬가능 한지여부를쓸것. (2) T2가 T과동시처리되면서연산 b는구간ᄂ에서, 연산 c는구간ᄃ에서수행될때, T과 T2에대한스케줄이 직렬가능 한지여부를쓸것. (3) T3이 T과동시처리되면서연산 f가구간ᄃ에서수행된다고가정할때, 연산 d와 e가수행되는구간에따라 직렬가능 한 T과 T3에대한스케줄이존재하는지여부와그이유를쓸것. () 밑줄친ᄀ에서출력되는 2개의값을순서대로쓸것. (2) 밑줄친ᄂ에서 이출력되도록밑줄친 a, b에들어갈값을각각쓸것. < 수고하셨습니다.> 정보 컴퓨터 [ 전공 A] (8 면중 8 면 )