본문 바로가기
ETC/정보처리기사

[정보처리기사 실기] 2022년 1회 기출문제 복원 및 답/해설

by sssinga 2022. 10. 3.

목차

     

     

     

     

     

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

    class A {
    	int a;
        int b;
    }
    public class Test {
    	static void func1(A m) {
        	m.a *= 10;
        }
        static void func2(A m) {
        	m.a += m.b;
        }
        public static void main(String args[]) {
        	A m = new A();
            m.a = 100;
            func1(m);
            m.b = m.a;
            func2(m);
            System.out.printf("%d", m.a);
        }
    }

     

    [답]

    더보기

    2000

     

    [해설]

    더보기

    m.a = 100;

    func1(m);   ㅡ> m.a = 100 * 10 = 1000

    m.b = m.a;   ㅡ> m.b = 1000

    func2(m);   ㅡ> m.a = 1000 + 1000 = 2000

     

     

     

     

     

    [문제 2] 다음 설명의 RAID에 해당하는 레벨(Level)을 답 란의 괄호 안에 숫자로 쓰시오.

    여러 개의 하드디스크로 디스크 배열을 구성하고, 파일을 구성하는 데이터 블록들을 서로 다른 디스크에 분산하여 젖아할 경우 저장된 블록들을 여러 디스크에서 동시에 읽고 쓸 수 있으므로 디스크의 속도가 매우 향상되는데, 이 기술을 RAID라고 한다.
    레이드 방식 중 패리티가 없는 스트리핑된 2개 이상의 디스크를 병렬로 연결하여 구성하는 이 방식은 디스크의 개수가 증가할수록 입·출력 속도 및 저장 용량이 배로 증가하지만, 하나의 디스크만 손상되어도 전체 데이터가 유실되는 문제가 발생한다.

     

    답 : Level (    )

     

    [답]

     

    [해설]

    더보기

    RAID 0 : 스트라이핑 방식, 중복저장X, 에러검출X

    RAID 1 : 미러링 방식, 중복저장O,높은 신뢰도

    RAID 2 : 스트라이핑 방식, 해밍코드를 사용하여 에러 검증

    RAID 3 : 스트라이핑 방식, 패리티(8bit)를 에러 검증, 바이트 단위

    RAID 4 : 블록 단위

    RAID 5 : 패리티 블록을 각 디스크마다 분산저장

    RAID 6 : 패리티 블록을 이중구조로 구축

     

     

     

     

     

    [문제 3] 다음 설명에 해당하는 DB 트랜잭션 연산을 <보기>에서 찾아 쓰시오.

    DBMS는 데이터베이스에 치명적인 손실이 발생했을 때 이를 복구하기 위해 데이터베이스의 처리 내용이나 이용 상황 등 상태 변화를 시간의 흐름에 따라 기록한 로그를 생성한다.
    · (  ①   ) : 데이터베이스가 비정상적으로 종료되었을 때, 디스크에 저장된 로그를 분석하여 트랜잭션의 시작(start)과 완료(commit)에 대한 기록이 있는 트랜잭션들의 작업을 재작업한다. 즉 로그를 이용하여 해당 데이터 항목에 대해 이전 값을 이후 값으로 변경하는 연산이다.

    · (  ②   ) : 데이터베이스가 비정상적으로 종료되었을 때, 디스크에 저장된 로그를 분석하여 트랜잭션의 시작을 나타내는 'start'는 있지만 완료를 나타내는 'commit' 기록이 없는 트랜잭션들이 작업한 내용들을 모두 취소한다. 즉 로그를 이용하여 해당 데이터 항목에 대해 이후 값을 이전 값으로 변경한다.

     

    <보기>

    ㄱ. ROLLBACK ㄴ. UNDO ㄷ. LOG ㄹ. COMMIT
    ㅁ. REDO ㅂ. RECOVERY ㅅ. BACKUP ㅇ. CHECK

     

    [답]

    더보기

    ① REDO
    ② UNDO

     

     

     

     

     

    [문제 4] 다음 <성적> 테이블에서 이름(name)과 점수(score)를 조회하되, 점수를 기준으로 내림차순 정렬하여 조회하는 <SQL문> 이다. 괄호(①~③)에 알맞은 답을 적어 <SQL문>을 완성하시오.

     

    <SQL문>

    SELECT name, score
    FROM 성적
    ①  ) BY (  ②  ) (  ③  )

     

    [답]

    더보기

    ① ORDER

    ② score

    ③ DESC

     

     

     

     

     

    [문제 5] 다음 Java로 구현된 프로그램을 분석하여 괄호에 들어갈 알맞은 답을 쓰시오.

    class Car implements Runnable {
    	int a;
        public void run() {
        	try {
            	while(++a < 100) {
                	System.out.println("miles traveled : " + a);
                    Thread.sleep(100);
                }
            } catch(Exception E) {}
        }
    }
    public class Test{
    	public static void main(String args[]) {
        	Thread t1 = new Thread(new (        )());
            t1.start();
        }
    }

     

    [답]

     

     

     

     

     

    [문제 6] 데이터의 중복으로 인해 테이블 조작 시 문제가 발생하는 현상을 이상(Anomaly)이라고 한다. 이상 중 삭제 이상(Deletion Anomaly)에 대해 간략히 서술하시오.

    [답]

    더보기

    테이블에서 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 현상

     

     

     

     

     

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

    def func(num1, num2 = 2):
    	print('a =', num1, 'b =', num2)
    func(20)

     

    [답]

    더보기

    a = 20 b = 2

     

     

     

     

     

    [문제 8] 다음은 Python의 리스트 객체에 속한 메소드들에 대한 설명이다. 각 괄호(①~③)에 해당하는 메소드의 이름을 <보기>에서 찾아 쓰시오.

    Python에서는 여러 요소들을 한 개의 이름으로 처리할 때 리스트(List)를 사용하며, 각 요소에는 정수, 실수, 문자열 등 다양한 자료형을 섞어 저장할 수 있다. 또한 리스트는 메소드를 활용하여 요소를 추가 및 삭제할 수 있을 뿐만 아니라 정렬하거나 다른 리스트와 병합하는 등의 다양한 작업을 손쉽게 수행할 수 있다.
    · (  ①  ) : 기존 리스트에 인수의 요소들을 추가하여 확장하는 메소드로, 여러 값을 한 번에 추가 할 수 있다.

    · (  ②  ) : 리스트에서 맨 마지막 또는 인수의 값에 해당하는 위치의 요소를 삭제한 후 반환한다.
    · (  ③  ) : 리스트에 저장된 각 요소들의 순서를 역순으로 뒤집어 저장하는 메소드이다.

     

    <보기>

    ㄱ. pop() ㄴ. push() ㄷ. reverse() ㄹ. index()
    ㅁ. write() ㅂ. sort() ㅅ. extend() ㅇ. copy()

     

    [답]

    더보기

    ① extend
    ② pop
    reverse

     

     

     

     

     

    [문제 9] 보안 프로토콜에 대한 다음 설명에 해당하는 용어를 영문 약어로 쓰시오.

    무선랜 보안에 사용된 웹 방식을 보완한 데이터 보안 프로토콜로, 임시 키 무결성 프로토콜이라고도 한다. WEP의 취약성을 보완하기 위해 암호 알고리즘의 입력 키 길이를 128비트로 늘리고 패킷당 키 할당, 키값 재설정 등 키 관리 방식을 개선하였다.

     

    [답]

    더보기

    TKIP

     

     

     

     

     

    [문제 10] 소스 코드 품질 분석 도구에 대한 다음 설명에서 괄호(①, ②)에 해당하는 용어를 <보기>에서 찾아 쓰시오.

    소스 코드 품질 분석 도구는 소스 코드의 코딩 스타일, 코드에 설정된 코딩 표준, 코드의 복잡도, 코드에 존재하는 메모리 누수 현상, 스레드 결함 등을 발견하기 위해 사용하는 분석 도구이다.
    · (  ①  ) 도구는 작성한 소스 코드를 실행하지 않고 코딩 표준이나 코딩 스타일, 결함 등을 확인하는 코드 분석 도구이다.

    · (  ②  ) 도구는 소스 코드를 직접 실행하여 프로그램의 동작이나 반응을 추적하고 보고하는 분석 도구로, 프로그램 모니터링 기능이나 스냅샷 생성 기능들을 포함하고 있다.

     

    <보기>

    ㄱ. static Analysis ㄴ. Running Analysis ㄷ. Test Execution ㄹ. Performance
    ㅁ. Dynamic Analysis ㅂ. Test Control ㅅ. Test Harness ㅇ. Test Monitoring

     

    [답]

    더보기

    ① Static Analysis
    ② Dynamic Analysis

     

     

     

     

     

    [문제 11] 인터페이스 구현 검증 도구에 대한 다음 설명에 해당하는 용어를 영문으로 쓰시오.

    Kent Beck과 Erich Gamma 등이 개발한 자바 프로그래밍 언어용 유닛 테스트 프레임워크로, xUnit 계열의 한 종류다. 같은 테스트 코드를 여러 번 작성하지 않게 도와주며, 테스트마다 예상 결과를 기억할 필요가 없는 자동화된 해법을 제공한다는 특징이 있다.

     

    [답]

    더보기

    JUnit

     

     

     

     

     

    [문제 7] 다음 C언어로 구현된 프로그램을 분석하여 5를 입력했을 때 그 실행 결과를 쓰시오.

    #include <stdio.h>
    int func(int a) {
    	if (a <= 1) return 1;
        return a * func(a - 1);
    }
    int main() {
    	int a;
        scanf("%d", &a);
        printf("%d", func(a));
    }

     

    [답]

     

    [해설]

    더보기

    func(5)는 return 5 * func(4)

    func(4)는 return 4 * func(3)

    func(3) 는 return 3 * func(2)

    func(2) 는 return 2 * func(1)

    func(1) = 1

    ㅡ> func(2) = 2 * 1 = 2

    ㅡ> func(3) = 3 * 2 = 6

    ㅡ> func(4) = 4 * 6 = 24

    ㅡ> func(5) = 5 * 24 = 120

     

     

     

     

     

    [문제 13] 사용자 인터페이스(UI)에 대한 다음 설명에 해당하는 용어를 영문 약어로 쓰시오.

    사용자의 자연스러운 움직임을 통해 시스템과 상호작용하는 사용자 인터페이스(UI)로, 키보드나 마우스와 같이 조작을 배워야 하는 인공 제어 장치를 사용하는 인터페이스와 구분하기 위해 '자연스러운'이라는 표현을 사용한다. 시리(Siri), 빅스비(Bixby) 등과 같은 음성 비서에게 사용하는 자연어 명령이나 휴대폰이나 태블릿에서의 터치 등이 여기에 해당한다.

     

    [답]

    더보기

    NUI (Natural UI)

     

     

     

     

     

    [문제 14] 다음 중 블랙 박스 테스트 기법에 해당하는 것을 모두 골라 기호(ㄱ~ㅈ)로 쓰시오.

    ㄱ. Base Path Testing ㄴ. Condition Testing ㄷ. Boundary Value Analysis
    ㄹ. Equivalence Partitioning ㅁ. Data Flow Testing ㅂ. Cuase-Effect Graph
    ㅅ. Branch Coverage Testing ㅇ. Statement Coverage Testing ㅈ. Boundary Division Analysis

     

    [답]

    더보기

    ㄷ, ㄹ, ㅂ

     

     

     

     

     

    [문제 15] 다음은 정수를 역순으로 출력하는 C언어 프로그램이다. 예를 들어 1234의 역순은 4321이다. 단, 1230 처럼 0으로 끝나는 정수는 고려하지 않는다. 프로그램을 분석하여 괄호(①~③)에 들어갈 알맞은 연산자를 쓰시오.

    #include <stdio.h>
    int main() {
    	int number = 1234;
        int div = 10, result = 0;
        
        while (number (  ①  )0) {
        	reuslt = reulst * div;
            reuslt = reuslt + number (  ②  ) div;
            number = numver (  ③  ) div;
        }
        printf("%d", reuslt);
    }

     

    [답]

    더보기

    ① >
    ② %
    /

     

    [해설]

    더보기

    https://youtu.be/i8bjrCLYM50

     ㅡ 길벗시나공IT : [시나공 정보처리] 1450815 2022년 1회 문제 15

     

     

     

     

     

    [문제 16] 정보 보호에 대한 다음 설명에 해당하는 용어를 영문 약어로 쓰시오.

    정보 자산을 안전하게 보호하기 위한 보호 절차와 대책으로, 정보보호 관리 체계라고 한다. 조직에 맞는 정보보호 정책을 수립하고, 위험에 상시 대응하는 여러 보안 대책을 통합 관리한다. 공공 부문과 민간 기업 부문에서 이것을 평가하고 인증하는 사업을 한국인터넷진흥원(KISA)에서 운영중이다.

     

    [답]

    더보기

    ISMS (Information Security Mangement System, 정보 보안 경영 시스템)

     

     

     

     

     

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

    #include <stdio.h>
    int isPrime(int number) {
    	for (int i = 2; i < number; i++)
        	if (number % i == 0) reutnr 0;
        return 1;
    }
    int main() {
    	int number = 13195;
        int max_div = 0;
        for (int i = 2; i < number; i++)
        	if (isPrime(i) == 1 && number % i == 0) max_div = i;
        printf("%d", max_div);
    }

     

    [답]

     

    [해설]

    더보기

    number의 약수 중 가장 큰 소수

     

     

     

     

     

    [문제 18] 키에 대한 다음 설명에서 괄호(①, ②)에 들어갈 알맞은 용어를 쓰시오.

    키(Key)는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 속성을 말한다.
    · 슈퍼키(Super Key)는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로, 릴레잉션을 구성하는 모든 튜플에 대해 (  ①  )을 만족한다.

    · 후보키(Candidate Key)는 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합으로, (  ①  )과 (  ②  )를 만족하는 특징이 있다.

     

    [답]

    더보기

    ① 유일성, unique
    ② 최소성, minimality

     

     

     

     

     

    [문제 19] 보안 위협에 대한 다음 설명에 해당하는 용어를 <보기>에서 찾아 쓰시오.

    목표 조직이 자주 방문하는 웹 사이트를 사전에 감염시켜 목표 조직의 일원이 웹 사이트에 방문했을 때 악성 코드에 감염되게 한다. 이후에는 감연된 PC를 기반으로 조직의 중요 시스템에 접근하거나 불능으로 만드는 등의 영향력을 행사하는 웹 기반 공격이다.

     

    <보기>

    ㄱ. Pharming ㄴ. Drive-by Download ㄷ. Watering Hole ㄹ. Business SCAM
    ㅁ. Phishing ㅂ. Cyber Kill Chain ㅅ. Ransomware ㅇ. Sniffing

     

    [답]

    더보기

    Watering Hole

     

     

     

     

     

    [문제 20] 개발 단계에 따른 애플리케이션 테스트에 대한 다음 V-모델에서 괄호(①~④)에 들어갈 알맞은 테스트를 쓰시오.

     

    [답]

    더보기

    ① 단위 테스트, Unit Test
    ② 통합 테스트, Intergration Test

    ③ 시스템 테스트, System Test

    ④ 인수 테스트, Acceptance Test

     

     

     

     

     

    정보처리기사 실기 기출 복원 문제

     

    내가 보려고 정리한 정보처리기사 실기 기출 복원 문제 (개정후/2021~)

     

    내가 보려고 정리한 정보처리기사 실기 기출 복원 문제 (개정후/2021~)

    [정보처리기사 실기] 2021년 1회 기출문제 복원 및 답/해설 [정보처리기사 실기] 2021년 1회 기출문제 복원 및 답/해설 [문제 1] 네트워크 및 인터넷과 관련된 다음 설명에 해당하는 용어를 쓰시오.

    sssinga.tistory.com

     

     

    길벗시나공IT 유튜브(https://www.youtube.com/channel/UCPb3m8raQQATP-nlPwDRRXA)에서 학습하고 개인 학습용으로 정리한 내용입니다. 기출문제는 시나공 저자(알앤디)가 복원한 것임

    댓글