관리 메뉴

피터의 개발이야기

[정처기 실기] 정보처리기능사 실기 - 2023년 3회 기출문제 본문

개발이야기/정보처리기사

[정처기 실기] 정보처리기능사 실기 - 2023년 3회 기출문제

기록하는 백앤드개발자 2024. 4. 15. 13:03
반응형

 

ㅁ 들어가며

ㅇ 기출문제를 풀어보고 공부한 내용을 노트형태로 정리하였다.

ㅇ 기출문제 참조

 - newbt - 정보처리기사 실기 2023년 3회

 - 기사퍼스트 - [정보처리기사 실기] 2023년3회 기출문제 풀이

 

1. 다음 설명하는 용어를 보기에 맞게 골라 '기호'를 작성하시오.

사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보를 가지고 웹사이트의 접근 권한을 부여 할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준이다. 이 매커니즘은 토큰 요청/발급 등 의 과정으로 인증되며 여러 기업들에 의해 사용된다. 예를 들어 아마존, 구글, 페이스북, 마이크로소프트, 트위터 계정이 있으며 사용자들이 타사 웹사이트나 애플리케이션의 계정에 관한 정보를 공유할 수 있게 허용한다.
<보기>
ㄱ) Privacy ㄴ) Discovery ㄷ) Key Generation ㄹ)  Accounting
ㅁ) OAuth ㅂ) Start Of Authority ㅅ) Name Server ㅇ) Tokenizer
더보기

ㅁ) OAuth

 

 

2. C언어의 실행결과를 쓰시오.

#include <stdio.h>
int main() {
    char* p = "KOREA";
    printf("%s \n", p);
    printf("%s \n", p+1);
    printf("%c \n", *p);
    printf("%c \n", *(p+3));
    printf("%c", *p+4);
}
더보기

KOREA

OREA

K

E

O

printf("%c", *p+4); => *p는 K이다. 

여기서 +4는 ASCII 코드 규칙에 따라 KLMNO가 된다. 

 

 

3. C언어의 빈 칸을 채우시오.

#include <stdio.h>
int main() {
	struct insa {
    	char name [10];
    	int age;
    } a[] = ("Kim", 28, "Lee", 38, "Park", 41, "Choi", 30}:
    struct insa *p;
    p = a;
    p++;
    printf("%s \n", p ( ㄱ ) name);
    printf("%d \n", p ( ㄱ ) age);
}
<출력>
LEE
38

 

p= a[0]의 주소를 가지고 있다.

p++ 연산 후 a[1]의 주소를 가진다.

# 화살표 연산자(->) 구조체 포인터 변수가 구조체 멤버에 접근할 때 사용하는 연산자

 

4. JAVA언어: 실행결과를 쓰시오.

public class Gisafirst {
    public static void main(String[] args) {
        A b = new B();  //1
        b.paint();      //2
        b.draw();  
    }
}

class A {
	public void paint(){
		System.out.print("A");
		draw();
	}
	public void draw() {
		System.out.print("B"); // 4 B를 출력
		draw(); // 5 오버라이딘 된게 우선
	}
}

class B extends A {
	public void paint() {
		super.draw(); //3
		System.out.print("C"); //7 C를 출력
		this.draw(); //8 
	public void draw() {
		System.out.print("D"); //6 D를 출력 후 super.draw() 아래로 스택이동 //9 D를 출력
	}
}
더보기

BDCDD

 

# 오버라이딩 

- 하위 클래스에서 상위 클래스의 메소드를 재정의 하는 과정.

- 하위 클래스의 오버라이딩 메소드는 상위 클래스 메소드보다 우선 순위이다. 

 

# super

- 상위 클래스를 호출

 

# this

- 객체 자신을 호출 

 

5. LINUX 알맞은 명령어를 쓰시오. 

LINUX에서 사용자에게는 읽기/쓰기/실행, 그룹에게는 읽기/실행, 기타에게는 실행 권한을 a.txt 파일에 부여하는 명령어를 한 줄로 쓰시오. (단, 8진법 숫자를 사용한다.)
명령어 :( ㄱ ) ( ㄴ ) a.txt
더보기

chmod 751 

 

 

읽, 쓰, 실

1  1   1 = 7

1  0  1 = 5

0  0 1 = 1

 

 

6. UML 다이어그램

정적 모델링의 하나로, 객체 등과 같은 여러 요소들을 그룹화하여 그들 간의 의존 관계를 표현한 다이어그램
더보기

패키지 다이어그램

 

핵심 025) 다이어그램(Diagram)

 

 

7. 네트워크 프로토콜

네트워크 주소 변환 기능을 수행하는 프로토콜로, 외부와 내부의 IP를 변환해 준다. 

 

8. 데이터전송방식

(    )은(는) 데이터의 전송 방식이 비동기식으로, 53 byes의 셀(Cel)을 기본 단위로 하는 패킷교환방식의 한 형태 이다. ITU-T에서 광대역 종합 정보 통신망(B-ISDN)의 전송 방식으로 결정하여, B-ISDN의 핵심이 되는 전송 교 환 기술로 모든 정보를 ( ) 셀이라는 고정 길이의 블록으로 분할하여 이것을 순차적으로 전송한다.

 

 

* ATM(Asynchronous Transfer Mode, 비동기 전송 모드)
- 기존 패킷교환방식과 유사하나, 패킷 크기를 일정하게 하고 에러복구 등을 간략화시킴

                                                 셀(Cell)
- ATM 셀들을 모아서 > 비동기식 시분할 다중화(ATOM)
                                    전송할 데이터를 버퍼에 우선 저장 -> 우선순위에 따라 다중화 슬롯에 삽입

 

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

- 시스템이나 시스템 구성요소(component) 또는 소프트웨어 프로그램의 입력값과 출력값이 특정 그룹으로 분류되며, 분류된 그룹내의 값들이 시스템에 의해 동일하게 취급된다는 특성을 이용하여 시험하는 기법
- 유사한 입력값들이 시스템을 거치면서 유사한 답변이 나온다는 것을 가정하여 테스트
- 하나의 값은 그 분할 내 모든 값을 대표하는 것으로 간주하는 기법
- 모든 입력 값을 시험할 필요가 없게 하여 시험을 효율적으로 수행하도록 지원
- 일반적으로 경계값 분석기법(boundary value analysis)과 함께 테스트 케이스 도출하는데 사용

<보기>
ㄱ Equivalence Partitioning Testing
ㄴ Cause Effect Graphing Testing
ㄷ Boundary Value Analysis Testing
ㄹ Comparison Testing
ㅁ Loop Testing
ㅂ Data Flow Testing
ㅅ Basic Path Testing
ㅇ Condition Testing
더보기

ㄱ Equivalence Partitioning Testing

 

10. SQL문 실행결과를 쓰시오.

[쿼리]
SELECT A FROM  T1
UNION
SELECT A FROM  T2
ORDER BY A DESC;
더보기

4

3

2

1

 

# union 중복을 제거

 

11. Python언어의 빈 칸을 채우시오.

a,b = input().( ㄱ )(',')
print(a)
print(b)
<입력>
happy,day
<출력>
happy
day
더보기

split

 

12. 접근통제 관련 문제, 다음 설명은 서버 접근 통제의 유형이다. 괄호 안에 들어갈 용어를 작성하시오. ('영어 약자'로 작성하시오.)

- (   ①   )은/는 규칙 기반(Rule-Based) 접근통제 정책으로, 객체에 포함된 정보의 허용 등급과 접근 정보에 대하여 주체가 갖는 접근 허가 권한에 근거하여 객체에 대한 접근을 제한하는 방법이다.

- (   ②   )은/는 중앙 관리자가 사용자와 시스템의 상호관계를 통제하며 조직 내 맡은 역할(Role)에 기초하여 자원에 대한 접근을 제한하는 방법이다.

- (   ③   )은/는 신분 기반(Identity-Based) 접근통제 정책으로, 주체나 그룹의 신분에 근거하여 객체에 대한 접근을 제한하는 방법이다.

1)  MAC

2) RBAC

3) DAC 

 

 

# 핵심 199) 접근통제 기술

임의 접근통제(DAC; Discretionary Access Control)

 - 자원에 접근하는 사용자의 신원에 따라 접근 권한을 부여하는 방식

강제 접근통제(MAC; Mandatory Access Control)

 - 사용자나 자원 모두 보안 레벨을 부여 받아 서로의 레벨을 비교하여 접근 권한을 부여

역할기반 접근통제(RBACRole Based Access Control)

 - 사용자에게 할당된 역할에 기반하여 접근 권한을 부여하는 방식

 

13. 다음은 프로토콜 종류에 관한 설명이다. 무슨 프로토콜인지 알맞는 답을 작성하시오.

- 내부 라우팅 프로토콜의 일종이다.
- 경유하는 라우터의 홉(hop)에 따라서 최단 경로를 동적으로 결정하는 거리 벡터 알고리즘을 사용한다.
- 여러 한계에도 불구하고 설정하기 쉽고 간단해서 소규모 네트워크에서 널리 사용된다.
더보기

RIP(Routing Information Protocol)

 

핵심 344) 경로 제어 프로토콜 (Routing Protocol)

ㅁ GP(Interior Gateway Protocol, 내부 게이트웨이 프로토콜)

RIP(Routing Information Protocol)

  - 거리 벡터 기반 라우팅 프로토콜

  - 경유하는 라우터의 대수에 따라 최단 경로를 동적으로 결정

  - 속도나 지연 등을 고려한 최적의 경로가 아닐 수 있음.

OSPF(Open Shortest Path First protocol)

 - RIP의 단점을 해결하여 새로운 기능을 지원 하는 인터넷 프로토콜로, 대규모 네트워크에서 많이 사용됨

 - 인터넷망에서 이용자가 최단 경로를 선정할 수 있도록 라우팅 정보에 노드 간의 거리 정보, 링크 상태 정보를 실시간으로 반영하여 최단 경로로 라우팅을 지원함

 

 

14. 다음은 데이터베이스에 관련된 문제이다. 괄호 안에 알맞는 답을 작성하시오.

- (            ) 무결성은 관계 데이터베이스 관계 모델에서 2개의 관련 있던 관계 변수(테이블) 간의 일관성(데이터 무결성)을 말한다.
- 종종 기본 키 또는 키가 아닌 후보 키와 외래 키의 조합으로 강제 적용된다.
- 외래 키가 선언된 관계 변수의 외래 키를 구성하는 속성(열)의 값은 그 관계 변수의 부모가 되는 관계 변수의 기본 키 값 또는 기본 키가 아닌 후보 키 값으로 존재해야 한다.
더보기

참조

 

15. 다음 Java 코드에 대한 알맞는 출력값을 작성하시오.

public class computer {
    class Parent{
        int compute(int num){
            if(num <= 1)
                return num;
            return compute(num-1) + compute(num-2);
        }
    }

    class Child extends Parent{
        int compute(int num){
            if(num <= 1)
                return num;
            return compute(num-1) + compute(num-3);
        }
    }

    public static void main(String[] args){
        Parent obj = new Child();
        System.out.print(obj.compute(7));
    }
}

 

c7

c6 c4

c5 c3 c3 1

c4 c2 c2 0 c2 0  1

c3 c1 c-1  1 

com2  2

com1 com-1 2

2

 

 

 

 

 

 

 

 

16. 다음은 클라우드에 대한 유형 문제이다. 괄호안에 알맞는 답을 보기에 골라 작성하시오.

PaaS SaaS IaaS
더보기

1) IaaS

2) PaaS

3) SaaS

 

# 클라우드 서비스의 유형

- Infrastructure as a Service

- Platform as a Service

- Software as a Service

 

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

<풀이>

7*6*5*4*3*2*1 

210*24

4200 + 840=5040

 

18. 다음 자바 코드를 실행할 경우 에러가 발생이 된다. 에러가 발생하는 라인을 작성하시오.

static

 

 

# JAVA의 메모리 영역

public class Memory{
  // 전역 변수
  static int S = 10; // 스태틱 변수
  int M = 20; // 인스턴스 변수

  // 지역변수
  public void method(int P){ // 매개변수
    int N = 30; // 지역변수
    Memory memory = new Memory();  // 객체 생성 시 Heap 영역에 할당
  }
}

ㅇ Static

 - 스태틱 변수

 - 클래스가 메모리에 올라 갈 때 ~ 프로그램이 종료될 때

 - 클래스, 스태틱 메소드

 

ㅇ Heap 영역

 - 인스턴스 변수

 객체가 생성될 때 ~ 객체가 소멸될 때

- 객체

 

ㅇ Stack 영역

- 매개 변수, 지역변수

- 블록 내에서 변수의 선언문이 실행 될 때 ~ 블록이 종료될 때

- 메소드

 

19. 다음은 관계 대수에 대한 내용이다. 보기에 알맞는 기호를 작성하시오.

[보기]
ㄱ. σ              ㄴ.  π                   ㄷ.⋈                 ㄹ.÷
***************************************************************************************

1. JOIN :   (   ①   )

2. PROJECT :   (   ②   )

3. SELECT :   (   ③   )

4. DIVISION :   (   ④   )
더보기

1) ㄷ

2) ㄴ

3) ㄱ

4) ㄹ

 

핵심 176) 순수 관계 연산자

 

* SELECT(O) : 릴레이션에서 주어진 조건을 만족하는 튜플들을 검색하는 것
* PROJECT(T) : 릴레이션에서 주어진 조건을 만족하는 속성들을 검색하는 것
* JOIN (X) : 두 개의 릴레이션 A와 B에서 공통된 속성을 연결하는 것
* DIMSION(:) :X 그 Y 인 두 개의 릴레이션 R(X)와 S(Y)가 있을 때. R의 속성이 5의 속성 값을 모두 가진 튜플 에서 S가 가진 속성을 제외한 속성만을 구하는 것

 

20. 다음은 C 언어 코드이다. 알맞는 출력 결과를 작성하시오.

#include <stdio.h>
int test(int n) {
	int i, sum = 0;
	for (i = 1; i <= n/2; i++){
		if(n%i == 0)
			sum += i;
	}
	if (n == sum)
		return 1;
	return 0;
}

int main(){
	int i, sum=0;
	for (i = 2; i <= 100; i++){
		if (test(i))
			sum += i;
	}
	printf("%d ", sum);
	return 0;
}

 

<풀이>

test.n=10

test.sum=8

test.i=5

 

main.i=10

main.sum=6

 

100까지 하기는 너무 어렵다.

 

ㅁ 완전수(Perfect Number)

자기 자신을 제외한 약수의 합이 자기 자신이 되는 수

6 ,28, 496, 8128

 

ㅇ 6의 약수: 1,2,3,6

  - 1+2+3 = 6

 

ㅇ 28의 약수: 1, 2, 4, 7, 14

 - 1+2+4+7+14 = 28

 

6+28= 34

 

 

답은 6+28= 34

반응형
Comments