Notice
Recent Posts
Recent Comments
Link
관리 메뉴

코딩두의 포트폴리오

[2023실기] 1회 본문

정보처리기사/2023 실기

[2023실기] 1회

코딩두 2025. 12. 14. 12:53

1. 다음 JAVA로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

class Static {
    public int a = 20;
    static int b = 0;
}

public class Test {
    public static void main(String[] args) {
        int a = 10;
        Static.b = a;
        Static st = new Static();
        System.out.println(Static.b++);
        System.out.println(st.b);
        System.out.println(a);
        System.out.print(st.a);
    }
}

 

 

 

 

2. 다음 C언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

#include <stdio.h>
main() {
    char a[] = "Art";
    char* p = NULL;
    p = a;
    printf("%s\n", a);
    printf("%c\n", *p);
    printf("%c\n", *a);
    printf("%s\n", p);
    for (int i = 0; a[i] != '\0'; i++)
        printf("%c", a[i]);
}

 

 

 

 

3. 다음 C언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

#include <stdio.h>
main() {
    char* a = "qwer";
    char* b = "qwtery";
    for (int i = 0; a[i] != '\0'; i++)
        for (int j = 0; b[j] != '\0'; j++)
            if (a[i] == b[j])
                printf("%c", a[i]);
}

 

 

 

4. 클라이언트와 서버 간 자바스크립트 및 XML을 비동기 방식으로 처리하며, 전체 페이지를 새로 고치지 않고도 웹페이지 일부 영역만을 업데이트할 수 있도록 하는 기술을 의미하는 용어를 쓰시오.

AJAX (Asynchronous JavaScript AND xml)

 

 

 

5. 데이터 교환 방식에 대한 다음 설명에서 괄호(1, 2)에 들어갈 알맞은 용어를 [보기]에서 찾아 쓰시오.

- ( 1 ) : 연결형 통신에서 주로 사용되는 방식으로, 출발지와 목적지의 전송 경로를 미리 연결하여 논리적으로 고정한 후 통신하는 방식
- ( 2 ) : 비연결형 통신에서 주로 사용되는 방식으로, 사전에 접속 절차를 수행하지 않고 헤더에 출발지에서 목적지까지의 경로 지정을 위한 충분한 정보를 붙여서 개별적으로 전달하는 방식

 

[보기]

회선 교환 방식 데이터그램 방식 가상 회선 방식 메시지 교환 방식

1. 가상 회선 방식

2. 데이터그램 방식

 

 

 

6. 다음 설명에 해당하는 알맞은 용어를 쓰시오.

데이터링크 계층의 프로토콜 중 하나로, 터널링 프로토콜인 PPTP와 VPN의 구현에 사용하는 L2F의 기술적 장점들을 결합하여 만든 프로토콜이다. 자체적으로 암호화 및 인증 기능을 제공하지 않아 다른 보안 프로토콜과 함께 사용되는 경우가 많다.

L2TP (Layer 2 Tunneling Protocol)

 

 

 

7. 다음 설명에 해당하는 알맞은 용어를 영문 3글자로 쓰시오.

- 다른 컴퓨터에 로그인, 원격 명령 실행, 파일 복사 등을 수행할 수 있도록 다양한 기능을 지원하는 프로토콜 또는 이를 이용한 응용 프로그램이다.
- 데이터 암호화와 강력한 인증 방법으로 보안성이 낮은 네트워크에서도 안전하게 통신할 수 있다.
- 키(key)를 통한 인증 방법을 사용하려면 사전에 클라이언트의 공개키를 서버에 등록해야 한다.
- 기본적으로는 22번 포트를 사용한다.

SSH

 

 

 

8. 멀웨어(Malware)에 대한 다음 설명에서 괄호(1~3)에 들어갈 알맞은 용어를 [보기]에서 찾아 쓰시오.

- ( 1 ) : 윈도우나 응용 프로그램의 취약점 또는 E-mail 등을 통해 전파되며, ( 3 )과(와) 같이 자기복제가 가능하며 네트워크를 통해 스스로 전파가 가능하다.
- ( 2 ) : 정상적인 응용 프로그램에 포함되어 실행되는 악성코드로, 정상적인 응용 프로그램으로 위장하고 있다가 활성화되면 공격자는 이를 이용하여 사용자의 컴퓨터를 조종할 수 있게 된다.
- ( 3 ) : 정상 파일을 감염시키며, 자기복제가 가능하다. 파일을 통해 감염되며 네트워크를 통해 스스로 전파되지는 못한다.

1. 웜

2. 트로이목마

3. 바이러스

 

 

 

9. 다음은 2진수 101110을 10진수로 변환하는 C언어 프로그램이다. 프로그램을 분석하여 괄호(1~2)에 들어갈 알맞은 답을 쓰시오.

#include <stdio.h>
main() {
    int input = 101110;
    int di = 1;
    int sum = 0;
    while (1) {
        if (input == 0) break;
        sum = sum + (input ( ① ) ( ② )) * di;
        di = di * 2;
        input = input / 10;
    }
    printf("%d", sum);
}

 

 

 

 

 

10. 다음 설명에 해당하는 알맞은 용어를 영문 4글자로 쓰시오.

IP(Internet Protocol)의 주요 구성원 중 하나로, OSI 계층 모델의 네트워크 계층에 속한다. 네트워크 컴퓨터의 운영체제에서 오류 메시지를 수신하거나, 전송 경로를 변경하는 등 오류 처리를 위한 제어메시지를 주로 취급한다, 관련된 도구로 traceroute, ping이 있으며, ping of death와 같은 네트워크 공격 기법에 활용되기도 한다.

ICMP (Internet Control Message Protocol)

 

 

 

11. 다음 설명에서 괄호에 들어갈 알맞은 디자인 패턴을 아래에서 찾아 쓰시오.

생성 패턴 구조 패턴 행위 패
Abstract Factory
Builder
Factory Method
Prototype
Singleton
Adapter
Bridge
Composite
Decorator
Facade
Proxy
Chain of Responsibility
Command
Interpreter
Iterator
Mediator
Memento
Observer
Strategy
Template Method
(   )은/는 복잡한 시스템을 개발하기 쉽도록 클래스나 객체들을 조합하는 패턴에 속하며, 대리자라는 이름으로도 불린다.
내부에서는 객체 간의 복잡한 관계를 단순하게 정리해 주고, 외부에서는 객체의 세부적인 내용을 숨기는 역할을 한다.

Proxy

 

 

 

12.  릴리에션을 구성하는 용어들에 대한 다음 설명에서 괄호 (1~3)에 들어갈 알맞은 답을 [보기]에서 찾아 쓰시오.

- ( 1 ) : 릴레이션을 구성하는 각각의 행을 의미하며, 파일 구조에서는 레코드에 해당함
- ( 2 ) : 데이터 개체를 구성하고 있는 속성들에 데이터 타입이 정의되어 구체적인 데이터 값을 가진 것으로, 실제 값을 가진 튜플을 의미함
- ( 3 ) : 튜플의 개수를 의미함

1. 튜플

2. 릴레이션 인스턴스

3. 카디널리티

 

 

 

13. <학생> 테이블에서 "이름"이 "민수"인 튜플을 삭제하고자 한다. 다음 <처리 조건>을 참고하여 SQL문을 작성하시오.

<처리 조건>

- 최소한의 코드로 작성될 수 있도록 SQL문을 구성한다.
- 명령문 마지막의 세미콜론(;)은 생략이 가능하다.
- 인용 부호가 필요한 경우 작은따옴표(' ')를 사용한다.

DELET FROM 학생 WHERE 이름 = '민수';

 

 

 

14. 다음은 버블 정렬을 이용하여 배열에 저장된 수를 오름차순으로 정렬하는 프로그램이다. 프로그램을 분석하여 괄호(1~3)에 들어갈 알맞은 답을 쓰시오.

#include <stdio.h>
void swap(int* a, int idx1, int idx2) {
    int t = a[idx1];
    a[idx1] = a[idx2];
    a( ① ) = t;
}

void Usort(int* a, int len) {
    for (int i = 0; i < len - 1; i++)
        for (int j = 0; j < len - 1 - i; j++)
            if (a[j] > a[j + 1])
                swap(a, j, j + 1);
}

main() {
    int a[] = { 85, 75, 50, 100, 95 };
    int nx = 5;
    Usort(a, ( ② ));
}

 

 

 

 

15. 다음 Python으로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

asia = {'한국', '중국', '일본'}
asia.add('베트남')
asia.remove('일본')
asia.update({'한국', '홍콩', '태국'})
print(asia)

 

 

 

 

16. <성적> 테이블에서 과목별 점수의 평균이 90점 이상인 '과목이름', '최소점수', '최대점수'를 검색하고자 한다. 다음 <처리 조건>을 참고하여 적합한 SQL문을 작성하시오.

<처리 조건>

- 최소한의 코드로 작성될 수 있도록 SQL문을 구성한다.
- WHERE문은 사용하지 않는다.
- GROUP BY와 HAVING을 이용한다.
- 집계함수(Aggregation Function)를 사용하여 명령문을 구성한다.
- '최소점수', '최대점수'는 별칭(Alias)을 위한 AS문을 이용한다.
- 명령문 마지막의 세미콜론(;)은 생략이 가능하다.
- 인용 부호가 필요한 경우 작은따옴표(' ')를 사용한다.

 

<성적>

학번 과목번호 과목이름 학점 점수
a2001 101 컴퓨터구조 6 95
a2002 101 컴퓨터구조 6 84
a2003 302 데이터베이스 5 89
a2004 201 인공지능 5 92
a2005 302 데이터베이스 5 100
a2006 302 데이터베이스 5 88
a2007 201 인공지능 5 93

SELECT 과목이름, MIN(점수) AS 최소점수, MAX(점수) AS 최대점수

FROM 성적 GROUP BY 과목이름 HAVING AVG(점수) >= 90;

 

 

 

17. 다음 Java로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

abstract class Vehicle {
    String name;

    abstract public String getName(String val);

    public String getName() {
        return "Vehicle name : " + name;
    }
}

class Car extends Vehicle {
    private String name;

    public Car(String val) {
        name = super.name = val;
    }

    public String getName(String val) {
        return "Car name : " + val;
    }

    public String getName(byte[] val) {
        return "Car name : " + val;
    }
}

public class Test {
    public static void main(String[] args) {
        Vehicle obj = new Car("Spark");
        System.out.print(obj.getName());
    }
}

 

 

 

 

18. 스키마에 대한 설명에서 괄호(1~3)에 들어갈 알맞은 답을 [보기]에서 찾아 쓰시오.

- ( 1 ) 스키마는 데이터베이스의 전체적인 논리적 구조로, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스이다.
- ( 2 ) 스키마는 실제로 저장될 레코드의 형식, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.
- ( 3 ) 스키마는 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것이다.

[보기]

외부 내부 개념

1. 개념

2. 내부

3. 외부

 

 

 

19. 다음은 화이트박스 테스트의 프로그램 제어 흐름이다. 다음의 순서도를 참고하여 분기 커버리지로 구성할 테스트 케이스를 작성하시오.

1 - 2 - 3 - 4 - 5 - 6 - 7

1 - 2 - 4 - 5 - 6 - 1

 

 

 

20. 다음 Java로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

class Parent {
    int x = 1000;

    Parent() {
        this(3000);
    }

    Parent(int x) {
        this.x = x;
    }
}

class Child extends Parent {
    int x = 4000;

    Child() {
        this(5000);
    }

    Child(int x) {
        this.x = x;
    }

    int getX() {
        return this.x;
    }
}

public class Test {
    public static void main(String[] args) {
        Child c = new Child();
        System.out.println(c.getX());
    }
}

 

 

'정보처리기사 > 2023 실기' 카테고리의 다른 글

[2023실기] 3회  (1) 2025.12.15
[2023실기] 2회  (0) 2025.12.15