정보처리기사

[정처기] 실기 기출 공부 (2022년2회)

멋쟁이천재사자 2023. 3. 19. 16:27

4월 22일쯤에 있을 정보처리기사 실기를 준비하고 있습니다.

 

정답은 드래그하면 보입니다.

출처 :


 

01. 다음 괄호에 들어갈 용어를 쓰시오.

  • 관계 데이터 모델의 제안자인 코드(E.F.Codd)가 수학의 Predicate Calculus(술어 해석)에 기반을 두고 관계 데이터베이스를 위해 제안하였다.
  • (     ) 은 관계 데이터의 연산을 표현하는 방법으로, 원하는 정보를 정의할 때 계산 수식을 사용.
  • (     ) 은 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성

정답 : 관계해석

 

02. 다음 ①~②에 해당하는 암호화 알고리즘의 용어를 쓰시오.

( ① ) 은 1990년 스위에서 만들어진 PES를 개량하여 만들어진 블록 암호 알고리즘으로 키 길이가 128bit, 블록길이가 64bit이다. Feistel 방식과 SPN 의 중간형태 구조이다.

( ① ) 은 미 국가 안보국(NSA)에서 개발한 알고리즘으로, 64비트의 입출, 80비트의 키, 32 라운드를 가진다. 주로 전화기와 같은 음성을 암호화하는데 사용된다고 한다.

 

정답

IDEA

skipjack

 

https://youtu.be/obYRnoYAouk?list=LL&t=544 

 

 

03. 다음에 설명하는 용어를 영문약어로 적으시오.

인터넷 등 통신 사업자의 공중 네트워크에 암호화 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 거처럼 해주는 보안솔루션

 

정답 : VPN

 

 

04. 아래 설명에서 ①~④에 해당하는 용어를 적으시오.

네트워크 집합을 몇 개의 그룹으로 나누었을 때 동일 그룹 내에서 라우팅 정보를 교환할 때 사용하는 라우팅 프로토콜을 ( ① )라고 하고, 다른 그룹과 라우팅 정보를 교환하는 프로토콜을 ( )라고 한다. 

( ① ) 의 대표적인 프로토콜은 RIP와 ( )가 있고, ( ) 의 대표적인 프로토콜은 ( )이다.

 

정답

IGP

EGP

OSPF

BGP

 

 

05. 아래 ①~②에서 설명하는 테스트 종류를 쓰시오

①은 개발자의 통제하에서 사용자가 개발환경에서 수행하는 테스트이다. 내부에서 진행하는 자체 검사로 실제 사용환경에서 동작시키며 관련자만 참여한다.

② 는 개발된 소프트웨어를 사용자가 실제 운영환경에서 수행하는 테스트이다. ① 수행 이후 정식으로 출시하기  사용자에게 테스트를 하도록 한다.

 

정답

알파테스트

베타테스트

https://youtu.be/obYRnoYAouk?list=LL&t=2083 

 

 

06. 변경 또는 수정된 코드에 대하여 새로운 결함 발견 여부를 평가하는 테스트는 무엇인지 보기에서 찾아 쓰시오

 

정답 회귀테스트

 

 

07. 다음 주어진 구조에서 C의 Fan-In과 Fan-Out을 구하시오.

 

 

정답

Fan-In    : 1
Fan-Out :

 

 

08. 아래 ①~③에서 해당하는 용어를 쓰시오

( ① ) 는 W3 상에서 정보를 주고받을수 있는 프로토콜이다.

GET, POST 방식을 이용하여 문서를 주고 받는데, 이 문서내에서 다른 문서 링크 정보가 들어가는, 이런 링크 정보를 만들 수 있는게 ( ② ) 이다. 이런 ( ) 를 만들 수 있는 마크업언어가 ( ) 이다.

 

정답

HTTP

Hypertext

HTML

 

 

09. 객체지향 설계 원칙 중 아래에 설명하는 용어를 보기에서 찾아 쓰시오.

자신이 사용하지 않는 인터페이스는 구현하지 말아야 하고, 자신이 사용하지 않는 인터페이스 때문에 영향을 받아서는 안된다. 그러므로 인터페이스를 작게 나누어 만들어야 한다.

 

정답 : ISP

 

 

10. IP주소가 192.168.100.132 이고, 서브넷 마스크가 255.255.255.192 인 경우 ①~②에 해당하는 값을 쓰시오.

네트워크주소 192.168.100.

사용가능한 주소 개수 

 

정답

128

62

 

풀이

128 64 32 16 8 4 2 1

132 를 192 (128+64) 즉 앞에 두자리와 나머지로 쪼개야 함. 

132는 

128 64 32 16 8 4 2 1
1 0 0 0 0 1 0 0

서브넷은 10이고 호스트는 000100 임

네트워크 주소는 192.168.100.128

사용가능한 수소 갯수는 64 -2 = 62개임 (000000 ~ 111111)

 

 

11. 다음 직원 릴레이션에서, 다음 관계대수식을 실행한 결과를 ①~⑤에 쓰시오.

πTTL(직원)

 

정답

TTL

부장

대리

차장

과장

 

12.상품 테이블에서 B제조사 전체 제품의 단가보다 더 큰 단가를 가진 제품을 모두 출력하는 SQL문을 완성하시오.

제품번호 단가 제조사
100 1000 A
200 1500 B
300 3000 C
400 900 D
500 2000 B
600 1000 C
select * from 상품
where 단가 > ( ① )
( select 단가 from 상품 where 제조사 = 'B' )

 

정답  ALL

 

 

13. 다음 릴레이션의 데이터는 다음과 같이 저장되어 있다.

SQL을 수행했을 때 결과를 쓰시오.

 

IDX COL1 COL2
1 2 NULL
2 3 6
3 5 5
4 6 3
5 NULL 3
select count(col2)
from table
where col1 in (2,3) or col2 in (3,5)

 

정답 4

 

 

14. 다음은 함수적 종속에 해당하는 설명이다. ①~③에 해당하는 용어를 영어로 쓰시오

 

  • 함수적 종속관계에서 종속자가 기본키에만 종속되며, 기본키가 여러 속성으로 구성되어 있을 경우 기본키를 구성하는 모든 속성이 포함된 기본키의 부분집합에 종속된 경우 이를 (  ① ) 이라 한다.
  • 기본키가 여러 속성으로 구성되어 있을 경우 기본키를 구성하는 속성 중 일부만 종속되는 경우 이를 (  ② ) 라고 한다.
  • X-> Y, Y->Z 종속 관계가 있을 경우, X-> Z가 성립되는 경우를 ( ③ ) 라 한다

 

정답

Full
Partial
Transitive

 

 

15. 다음 C언어 프로그램의 출력결과를 쓰시오.

 

#include <stdio.h>
struct st{
	int x,y;
};

int main(){
	struct st dt[2];
	for (int i =0;i<2;i++){
		dt[i].x = i;
		dt[i].y = i+1;
	}
	printf("%d",dt[0].x + dt[1].y);
}

 

정답 2

 

풀이

dt[0].x => 0

dt[1].y => 1+1 = 2

2

 

지난번 풀이

i dt[0].x dt[0].y dt[1].x dt[1].y
0 0 1    
1     1 2

0+2 = 2

 

 

16. 다음 C언어 프로그램의 출력결과를 쓰시오

 

#include<stdio.h>
int func(char* p){
	int cnt	= 0;
	while(*p != '\0'){
		cnt++;
		p++;
	}
	return cnt;
}
int main(){
	char* p1 = "2022";
	char* p2 = "202210";
	int i = func(p1);
	int j = func(p2);
	printf("%d",i+j);
	return 0;
}

 

정답 10

 

풀이

4+6=10

 

https://youtu.be/jeCbqu1XfcA?list=LL&t=2094    

 

 

17. 다음 C언어 프로그램의 출력결과를 쓰시오

 

#include <stdio.h>
int main(){
	int a[4] = {0,2,4,8};
	int b[3];
	int* p;
	int sum = 0;
	for (int i = 1;i<4;i++){
		p = a+i;
		b[i-1] = *p - a[i-1];
		sum += b[i-1] + a[i];
	}
	printf("%d",sum);
}

 

정답 : 22

 

풀이

 

실수한 풀이

  a b sum=0 i = 1,2,3    
0 0 2 - 0 = 2 b[0]+a[1]
2+2 = 4
     
1 2 *p -> 4
4-2 = 2
4+ b[1]+a[2]
4+ 2 + 2 = 8
1 p = a+1
*p -> 2
 
2 4 b[2]=8-4=4 8+4+8=20 2 p = a+2  
3 8     3 *p -> 8  

 

전에는 22라고 풀었는데

i p *p b sum  
1 &a[1] 2 b[0] = 2-a[0]=2 0+2+2=4  
2 a+2 4 b[1]= 4 - 2 = 2 4 + 2 + 4 = 10  
3 a+3 8 b[2] =8 - 4 = 4 10+4+8=22  

 

 

18. 다음 JAVA 프로그램의 출력결과를 쓰시오

 

public static void main(String[] args){
	int i = 3;
	int sum = 0;
	switch(i){
		case 0 : sum++;
		case 1 : sum +=3;
		case 2 : sum -=10;
		case 3 : sum =0;
		case 4 : sum +=3;
		case 5 : sum -=10;
		default : sum--;
	}
    System.out.println(sum);
}

 

정답 -8

 

풀이

sum = 0 -> 3 -> -7 -> -8

 

 

19. 다음 JAVA 프로그램의 출력결과를 쓰시오. 

class Cal {
	int a;
	Cal(int a){
		this.a = a;
	}
	int func(){
		int b=1;
		for(int i=1; i< a; i++)
			b = a*i+b;
		return a+b;
	}
}

public class Main {
	public static void main(String[] args){
		Cal obj = new Cal(3);
		obj.a = 5;
		int b = obj.func();
		System.out.println(obj.a+b);
	}
}

정답 61

 

풀이

a+b = 56 에서 멈춤 obj.a+b를 추가로 해줘야 함

i a b a+b obj.a+b  
  3
5
b=obj.func
1,2,3,4
     
1   b=a*i+b
b=5*1+1=6
     
2   5*2+6=16      
3   5*3+16=31      
4   5*4+31=51      
      5+51=56    
        5+56=61  

 

 

 

20. 다음 파이선 코드에서 출력되는 결과를 작성하시오.

str1 = "REMEMBER NOVEMBER"
str2 = str1[:3]+str1[12:16]
str3 = "R AND %s" % "STR"
print(str2+str3)

 

정답 REMEMBER AND STR

 

풀이 

str1[:3] -> REM

str1[12:16] -> EMBE

str3 -> R AND STR

str2+str3 -> REMEMBER AND STR

 

지난 풀이

REM

EMBE

R AND %s??? %

REMEMBR AND STR


프로그램 문제 실수 주의!

  답안 점수 점수
1 관계해석
E.F.Codd
Predicate Calculus
5
2 IDEA skipjack DES ADES?
skipjack  유사문제는 맞추기 힘듦. 그래서 2점 계산
https://youtu.be/obYRnoYAouk?list=LL&t=517 
2
3 vpn https://youtu.be/obYRnoYAouk?list=LL&t=1222 

5
4 IGP EGP OSPF BGP   5
5 ① 알파테스트
② 베타테스트
https://youtu.be/obYRnoYAouk?list=LL&t=1947 

5
6 Regression https://youtu.be/obYRnoYAouk?list=LL&t=2083 
회귀테스트
5
7 Fan-In : 1
Fan-Out : 2
메케이브 사이클로메틱스  = 면+1 5
8 ① HTTP
② Hypertext
③ HTML
https://youtu.be/obYRnoYAouk?list=LL&t=3049 
Hypertext vs Hyperlink
3
9 ISP   5
10 128 62 64-2 5
11 ① TTL
② 부장
③ 대리
④ 차장
⑤ 과장
πTTL(직원)
파이 TTL(직원)
https://youtu.be/jeCbqu1XfcA?list=LL&t=194 
5
12 ALL   5
13 4 (cout col2) 5
14  Full
 Partial
 Transitive
https://youtu.be/jeCbqu1XfcA?list=LL&t=737 
완전 부분 이행전
Full Partial Transitive
5
15 2 0+2 5
16 10 C 포인터
4+6=10
https://youtu.be/jeCbqu1XfcA?list=LL&t=1519 
5
17 22 C 포인터 0
18 -8 switch 문제
default 실수 조심
5
19 61 91 56 61
실수 obj.a+b 빠뜨림
https://youtu.be/jeCbqu1XfcA?list=LL&t=3148 
0
20 REMEMBER AND STR REMEMBR AND STR <-- 지난번 실수
"R AND %s" % "STR"
5
  85