minlog
article thumbnail

정보처리기사 실기 2022년 2회

 

1. 다음은 관계 데이터 모델에 대한 설명이다. 괄호안에 들어가는 용어를 작성하시오.

( 괄호 )은/는 관계 데이터의 연산을 표현하는 방법으로, 원하는 정보를 정의할 때는 계산 수식을 사용한다. 수학의 predicate calculus에 기반을 두고 있으며, 관계 데이터 모델의 제안자인 codd가 수학에 가까운 기반을 두고 특별히 관계 데이터베이스를 위해 제안하여 탄생하였다.
( 괄호 )은/는 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 지니며, 튜블( 괄호 )와/과 도메인 ( 괄호 )이/가 있다.
더보기

답 : 관계해설


풀이 : 

관계해설

어떻게 검색할 것인가? 보다 무엇을 검색할 것인가? 만을 기술하는 선언적 표현법을 사용하는 비절차적 질의어

수학의 프레디킷해석(predicate calculus)에 기발을 두고 있다. 

튜플 관계해설 / 도메인 관계해설

 


 

2. 다음은 대칭 키 알고리즘에 대한 설명이다. 해당 설명에 맞는 용어를 보기에 골라 작성하시오.

1. Xuejia Lai와 James Messey 가 만든 알고리즘으로 PES(Proposed Encryption Standard)에서 IPES(Improved PES)로 변경되었다가, 1991년에 제작된 블록 암호 알고리즘으로 현재 국제 데이터 암호화 알고리즘으로 사용되고 있다. 64비트 블록을 128비트의 key를 이용하여 8개의 라운드로 구성되어 있다.

2. 미국의 NSA에서 개발한 Clipper 칩에 내장되는 블록 알고리즘이다. 전화기와 같은 음성을 암호화 하는데 주로 사용되며 64비트 입출력에 80비트의 키 총 32라운드를 가진다.
더보기

답 :

1.IDEA
2.SKIPJACK


풀이 :

 

 


 

3. H회사의 전체 제품 단가의 합 보다 단가가 큰 제품 출력을 하고자 한다. 괄호안에 들어갈 알맞는 용어를 작성하시오.

SELECT 제조사, 제품명, 단가 FROM 제품 WHERE ( 괄호 )
더보기

답 :  단가 > (SELECT SUM(단가) FROM 제품 WHERE 제조사 = H)

 


 

4. 다음 SQL 결과에 알맞는 답을 작성하시오..

SELECT count(col2)
FROM TABLE
WHERE col1 in(2,3) or col2 in(3,5);
더보기

답 : 4


 풀이 :

 COUNT(컬럼명)을 사용하면 NULL 값은 제외하고 COUNT 합니다. 

COUNT(*)를 사용하면 NULL도 포함하여 전부 COUNT 합니다.

 


 

5. 다음은 네트워크에 관련한 내용이다. 괄호안에 들어갈 알맞는 답을 작성하시오.

( 괄호 )은/는 인터넷을 통해 디바이스 간에 사설 네트워크 연결을 생성하며, 퍼블릭 네트워크를 통해 데이터를 안전하게 익명으로 전송하는 데 사용된다. 또한 사용자 IP 주소를 마스킹하고 데이터를 암호화하여 수신 권한이 없는 사람이 읽을 수 없도록 한다.
더보기

답 : 가상사설망(VPN)

 


 

6. 다음은 SOLID 원칙에 관한 내용이다. 괄호안에 알맞는 단어를 보기에서 고르시오.

( 괄호 )은/는 클라이언트가 자신이 이용하지 않는 메서드에 의존하지 않아야 한다는 원칙이다.
( 괄호 )은/는 큰 덩어리의 인터페이스들을 구체적이고 작은 단위들로 분리시킴으로써 클라이언트들이 꼭 필요한 메서드들만 이용할 수 있게 한다. 예를 들어 하나의 복합기에 프린터와 복사기, 팩스 메서드가 있는데 이 세가지 메서드는 같은 파일에 존재하므로 프린터 로직만 바뀌어도 복사기와 팩스도 재컴파일을 해야한다.
그러므로 ( 괄호 )을/를 적용하여 로직이 바뀌어도 다른 메서드는 영향을 받지 않도록 해야한다.

(참고) SOLID: SRP, OCP, LSP, ISP, DIP
더보기

답 : ISP (Interface segregation principle)

 


 

7. 다음 자바 코드에 알맞는 출력값을 작성하시오

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

답 : 8


풀이 : 

swich 문에 brack가 없으므로 case 3부터 마지막까지 진행된다.

k=0;

k=3;

k=-7;

k--; => k= -8;

 


 

8. 다음 소스코드에 대한 출력값을 작성하시오.

struct A{ 
  int n, 
  int g
} 

int main(){
  A a = new A[2] 
  for(i=0; i <2; i++) {
    a[i].n = i, 
    a[i].g=i+1  
  }
  System.out.printf(a[0].n + a[1].g);  
}
더보기

답 : 

1) a[0].n = 0; a[0].g = 0;

2) a[1].n = 1; a[1].g = 2;

a[0].n + a[1].g = 0+2=2;

 


 

9. IP 주소가 139.127.19.132이고 서브넷마스크 255.255.255.192일 때 아래의 답을 작성하시오.

(1) 괄호안에 들어갈 네트워크 주소 : 139.127.19.( )
(2) 해당 네트워크 주소와 브로드캐스트 주소를 제외한 호스트 개수
더보기

* 네트워크 주소 구하기 => 137, 192 를 2진수 변환후 and 연산

 


 

10. 다음 설명에 대한 괄호안에 알맞는 단어를 작성하시오.

1. ( 괄호 ) 테스트는 하드웨어나 소프트웨어의 개발 단계에서 상용화하기 전에 실시하는 제품 검사 작업. 제품의 결함 여부, 제품으로서의 가치 등을 평가하기 위해 실시한다. 선발된 잠재 고객으로 하여금 일정 기간 무료로 사용하게 한 후에 나타난 여러 가지 오류를 수정, 보완한다. 공식적인 제품으로 발매하기 이전에 최종적으로 실시하는 검사 작업이다.
2. ( 괄호 ) 테스트는 새로운 제품 개발 과정에서 이루어지는 첫 번째 테스트. 즉, 시제품이 운영되는 동안의 신제품 연구와 개발 과정 단계에서 초기 작동의 결과를 평가하는 수단이며 개발 회사 내부에서 이루어지는 테스트로서 단위 테스트, 구성 테스트, 시스템 테스트 등을 포함한다.
더보기

1. 베타 테스트  = 고객 관점 테스트 

2. 알파 테스트 = 개발자 테스트 ( 단위테스트, 구성테스트, 시스테 등 .. )

 


 

11. 다음 설명에 알맞는 테스트 용어를 보기에서 골라 작성하시오

오류를 제거하거나 수정한 시스템이나 시스템 컴포넌트 또는 프로그램이 오류 제거와 수정에 의해 새로이 유입된 오류가 없는지를 확인하는 일종의 반복 시험이다.

반복적인 시험이 필요한 이유는 오류가 제거·수정되는 상당수의 시스템이 의도치 않았던 오동작이나 새로운 형태의 오류를 일으키기 때문이다.

결국, 수정·변경된 시스템이나 시스템 컴포넌트 또는 프로그램이 명세된 요구 사항을 충족시키는지를 확인하는 시험의 한 형태이다.
더보기

회귀 테스트 (Regression)

 


 

12. 다음 테이블에서 πTTL(employee)에 대한 연산 결과 값을 작성하시오.

더보기

프로젝트 TTL(employee) 에 대한 연산

TTL

부장

대리

과장

차장

 


 

13. 다음은 파이썬 코드이다. 알맞는 출력값을 작성하시오.

a = "REMEMBER NOVEMBER"
b = a[:3] + a[12:16];
c = "R AND %s" % "STR";
print(b+c);
더보기

b = a[REM] + a[VEMBE]   => REMVEMBE

c = R AND STR

print(REMVEMBER AND STR)


해설 :

연결 방식 = %f, %d , %s 

변수를 문자열과 함께 출력할 때 연결방식을 사용한다.  '%' 뒤에 어떤 알파벳을 붙이는 지에 따라 형태가 다르다.

%f = 실수

%d = 정수

%s = 문자열

 


 

14. 다음 설명에 대해 보기에 주어진 답을 골라 작성하시오.

 

(1) 라우터로 상호 접속이 되어있는 여러 개의 네트워크 집합으로 도메인 혹은 자율시스템(Autonomous System, AS)이라고 한다.
같은 도메인 내에 존재하는 라우터는 도메인 내부 라우터가 되고 도메인 외부에 존재하는 라우터는 도메인 외부 라우터가 되는데, 여기서 도메인 내부 경로 설정을 가르킨다.


(2) 시스템 사이에 경로 설정 정보 등을 교환하기 위해 사용하는 프로토콜로써,
다른 도메인 사이에 라우팅 시 정리된 관리가 거의 없고 많은 경우에 신용도가 매우 낮아 빠른 수행보다는 보안과 제어가 본래의 목적이다.


(3) IP 라우팅 프로토콜의 한 종류로써 RIP(routing information protocol)보다 규모가 큰 네트워크에서도 사용할 수 있다.
규모가 크고 복잡한 TCP/IP 네트워크에서 RIP의 단점을 개선한 라우팅 프로토콜로써 RIP에 비해 자세한 제어가 가능하고, 관리 정보의 트래픽도 줄일 수 있다.


(4) 서로 다른 자율 시스템(AS)의 라우터 간에 라우팅 정보를 교환하는 데 사용되는 외부 게이트웨이 프로토콜(EGP)이다. 각 목적지에 대한 전체 경로가 포함되며, 다른 시스템과 교환하는 네트워크 도달 가능성 정보의 데이터베이스를 유지한다.
네트워크 도달 가능성 정보를 사용하여 AS 연결 그래프를 구성하며, 이를 통해 라우팅 루프를 제거하고 AS 수준에서 정책 결정을 실행할 수 있다.
더보기

1) IGP =  내부망 라우팅 프로토콜

2) EGP = 외부망 라우팅 프로토콜 

3) OSPE = 최단 거리 ( 자기자신을 기준으로 링크 상태 알고리즘)

4) BGP = 외부게이트 프로토콜 (Border Gateway protocal)

 


 

15. 다음 C언어에서 출력에 대한 알맞은 답을 작성하시오..

#include 
 
int len(char*p);
 
int main(){
 
  char*p1 = "2022";
  char*p2 = "202207";  
  
  int a = p1;
  int b = p2;
  
  printf("%d", len(a) + len(b));
 
}
 
int len(char*p){
  int r = 0;
  while(*p != ''){
    p++;
    r++;
  }
return r;
}
더보기

답:  

len(a) 

int r= 0;

while 로 리턴되는 r의 값을 구하는 것이다. r은 전달 받는 문자 의 수만큼 증가한다. 

때문에  printf ( 4+ 6 )  => 10이 출력된다.

ex) r의 증가

1)  p = 2 => 3 ; r => 1 

2) p= 0 => 1 ; r => 2

2) p= 2=> 3 ; r => 3

3) p= 2=> 3 ; r => 4

 


 

16. 다음 C언어 코드에서 알맞는 출력값을 작성하시오.

#include 
 
int main(int argc, char *argv[]) {
    int a[4] = {0, 2, 4, 8};
    int b[3] = {};
    int i = 1;
    int sum = 0;
    int *p1;
 
    for (i; i < 4; i++) {
        p1 = a + i;
        b[i-1] = *p1 - a[i-1];
        sum = sum + b[i-1] + a[i];
    }
    printf("%d", sum);
 
    return 0;
}
더보기

답 : 22

for => 1 부터 3까지 3번 루프를 돈다

p1 은 a [0] + i  위치를 저장한다.

b[0] = a[1] - a[0];  => 2-0 = 2

b[1] = a[2] - a[1];  => 4-2 = 2

b[2] = a[3] - a[2];  => 8-4 = 4

sum = 0 + b[0] + a[1]  => 0+2+2 = 4

sum = 0 + b[1] + a[2]  => 4+2+ 4= 10

sum = 0 + b[2] + a[3]  => 10 + 4 + 8 = 22


해설: 

* pi = 주소값 안의 변수에 값을 넣어줄때

pi = 주소값을 변경해줄때

 


 

17. 다음 자바코드에서 알맞는 출력값을 작성하시오.

public class Conv{ 
    public Conv(int a) {
        this.a = a;
    } 
    int func() {
        int b =1; 
        for (int i=1; i<a; i++){ 
             b = a * i + b 
        }
        return a +b;
    }
    int a;
}
 
public static void main(String[] args){
    Conv obj = new Conv(3);
    obj.a=5; 
    int b = obj.func();
    system.out.print(obj.a + b);
}
더보기

답: 61


풀이:

Conv obj = new Conv(3);

a = 3;

obj.a = 5 => a=5

int b = obj.func();

for 1 부터 4까지 4번 루프

1) b = 5*1 + 1; => 6

2) b = 5*2+6 =>16

3)b = 5* 3+16 => 31

4) b= 5*4+31 => 51

return a + b = 5+ 51 => 56

int b = 46;

system.out.print(5+56 = 61)

 


 

18. 다음은 함수 종속성에 대한 설명이다. 해당 문제에 대한 알맞는 답을 보기에서 골라 작성하시오.

1. 성적은 {학생,학과}에 대해서 ( 괄호 ) Functional Dependency이다.
2. 성적은 학과만 알아도 식별이 가능하므로, 이 경우에는 성적 속성은 기본키에 ( 괄호 ) Functional Dependency이다.
3. 릴레이션에서 X, Y, Z라는 3 개의 속성이 있을 때 X→Y, Y→Z 이란 종속 관계가 있을 경우, X→Z가 성립될 경우
더보기

1. full funtional dependency  = 완전 함수 종속

2. partial funtional dependency  = 부분적 함수 종속

3. transitiue funtional dependency = 이행적 함수 종속

 


 

19. 다음 설명에 대한 알맞는 답을 보기에서 고르시오.

(1) 인터넷에서, 웹 서버와 사용자의 인터넷 브라우저 사이에 문서를 전송하기 위해 사용되는 통신 규약을 말한다. 인터넷에서 하이퍼텍스트(hypertext) 문서를 교환하기 위하여 사용되는 통신규약이다. 이 규약에 맞춰 개발해서 서로 정보를 교환할 수 있게 되었다.
(2) 문자, 그래픽, 음성 및 영상을 하나의 연상 거미집(Web of Association)과 같이 서로 연결시켜, 제시된 순서에 관계없이 이용자가 관련된 정보를 검색할 수 있도록 하는 정보 제공 방법이다. 즉, 한 페이지에서 링크된 순서에 상관없이 사용자들이 원하는 정보를 클릭함으로써 원하는 정보에 쉽게 접근하는 방식을 말한다.
(3) 웹 페이지 표시를 위해 개발된 지배적인 마크업 언어다. 또한, 제목, 단락, 목록 등과 같은 본문을 위한 구조적 의미를 나타내는 것뿐만 아니라 링크, 인용과 그 밖의 항목으로 구조적 문서를 만들 수 있는 방법을 제공한다.
더보기

1) HTTP

2) 하이퍼텍스트 HyperText

3) HTML

 


 

20. 다음 모듈 F에 대한 Fan-in과 Fan-out을 작성하시오.

더보기

fan-in : 3    /   fan-out: 2

profile

minlog

@jimin-log

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!