[2021년 2회] 정보처리기사 실기 기출문제

이주원·2025년 4월 16일

컴퓨터언어

목록 보기
27/50

1. 네트워크 장치를 필요로하지 않고 네트워크 토폴로지가 동적으로 변화되는 특징이 있으며 응용 분야로는 긴급 구조, 긴급 회의, 전쟁터에서의 군사 네트워크에 활용되는 네트워크는?

  1. 네트워크 장치가 필요하지않음
  2. 토폴로지가 동적으로 변화?? ( 토폴로지가 뭔지는모르겠음 )
  3. 긴급 , 군사

풀이 : 긴급할때 임의로 설치하는 네트워크는 ad-hoc아닐까??

정답

풀이

무선 네트워크 구성 방식 :

애드혹 네트워크 - 센서망, 재난망에 사용되며 구성이 빠르고 모든 단말이 동등한 자격으로 망을 구성

Infrastructure 네트워크 - 이동통신망,Wi-Fi에 사용되며 중앙집중형 방식

메쉬 네트워크 - 무선백본망에 사용되며 신뢰성이 우수하고, 계층적인 구조를 가지고 있음

지피티

  1. 토폴로지 (Topology)
    👉 네트워크에서 장비들이 어떻게 연결되어 있는지를 나타내는 구조도야.

쉽게 말하면 네트워크 배선도 또는 연결 방식이라고 보면 돼.

예시로는 버스형, 스타형, 링형, 메시형 등이 있어.

"동적으로 변화된다"는 건 장비의 연결 구조가 상황에 따라 자주 바뀔 수 있다는 뜻이야.

  1. 애드혹 네트워크 (Ad-hoc Network)
    👉 네트워크 장비 없이 스마트폰, 노트북 같은 장비들끼리 직접 연결해서 임시로 구성하는 네트워크.

✔ 특징:
네트워크 장비 불필요 (AP, 스위치, 라우터 없어도 됨)

토폴로지가 유동적 (장비가 이동하면 네트워크 구조도 바뀜)

군사, 구조 현장, 재난 상황처럼 빠르게 네트워크가 필요할 때 사용됨


사람의 감정이나 경험 ?? ,

정답 , 외우기


3. 트랜잭션의 특징 중, 원자성에 대해 약술하십시오.

데이터베이스 ACID 에서 A를 말하는 것같음
A는 원자성으로 모든작업이 끝까지 실행되거나 실행되지않음 이거아닌가??

풀이

트랜젝션 특징 - 원자성, 일관성 , 독립성, 지속성

일관성 : 트랜잭션의 작업 처리 결과가 항상 일관성이 있어야 한다는 것

독립성 : 둘 이상의 트랜잭션이 동시에 실행되고 있을 경우, 어떤 하나의 트랜잭션이라도 다른 트랜잭션의 연산에 끼어 들 수 없다는 점

지속성 : 트랜잭션이 성공적으로 완료되었을 경우에 결과는 영구적으로 반영되어야 한다는 점

A Atomicity (원자성) | 전부 수행 or 전혀 안함 (올 or Nothing)
C Consistency (일관성) | 수행 전후 데이터 무결성 유지
I Isolation (고립성) | 다른 트랜잭션 간섭 없음
D Durability (지속성) | 커밋된 데이터는 영구히 유지됨


  1. 부분함수적 종속성을 제거
  2. 주문번호는 제품번호 주문수량 , 고객번호 주소에 한꺼번에 영향을주어서 때어냈음
  3. 제 1 정규형은 독립적으로 뜯어놓은것 , 제 2 정규형은 이게 부분함수적 종속성아닌가??, 제 3정규형이 부분함수적 종속성인가?? , a->b->c ,a->c 아닌가?? , 제 2정규형

정답

풀이

  • 기본키(주문번호 컬럼)이 제품번호에 의해 결정될 수 있기때문에 분해를 해야합니다.

  • 부분 함수적 종속성 : 기본키의 부분집합이 결정자가 되버린 현상

제 1정규형 : 도메인이 원자값
제 2정규형 : 부분 함수적 종속 제거
제 3정규형 : 이행적 함수 종속 제거
BCNF : 결정자이면서 후보키가 아닌 것 제거
제 4정규형 : 다치 종속 제거
제 5정규형 : 조인 종속 제거


5. 다음은 테이블을 수정할때의 상황입니다. SQL 보기에서 괄호안에 알맞는 문장을 작성하시오.

( 1 ) 테이블명 ( 2 ) 컬럼 = 값 WHERE 점수 >= 90;

풀이 : SELECT FROM // 이거는 선택할때고 SELECT뒤에는 컬럼이고 FROM뒤에 테이블명임

정답



( 1 ) AS
( 2 ) 학생 ??

정답

지피티

✅ 정답

SELECT ... 
FROM 학생정보 a 
JOIN 학과정보 b 
ON a.학과 = b.학과;

(1) | ON | JOIN 조건을 명시할 때 사용
(2) | 학과 | 두 테이블의 공통 컬럼명 (a.학과 = b.학과)


7. 파이썬 비트 연산자 코드 결과

a = 100
result = 0
for i in range(1,3);
   result = a >> i
   result = result + 1
pirnt(result)
  1. 변수 a, result 생성
  2. for i in range(1,3); // 반복문 , range함수 사용 1~2 반복
  3. result = a >> i // result에 라이트 시프트 i번씩 , 100을 2진수로 바꾼다음에 돌려야할 것같음
  4. result = result + 1 // result에 +1

정답

풀이

🔁 1회차 (i = 1)
result = a >> 1
→ 100 (2진수: 1100100) >> 1 = 50 (2진수: 110010)
result = 50 + 1 = 51

🔁 2회차 (i = 2)
result = a >> 2
→ 100 >> 2 = 25
result = 25 + 1 = 26


DES를 대체하기위한 키니까 AES아닐까??

정답

알고리즘설명
DES (Data Encryption Standard)56비트 키를 사용하는 초기 표준. 보안 취약점으로 현재는 거의 사용되지 않음.
AES (Advanced Encryption Standard)DES를 대체한 최신 표준. 128/192/256비트 키 지원. 가장 널리 사용됨.
3DES (Triple DES)DES를 3번 적용해 보안을 강화. 하지만 속도가 느림.
RC4 / RC5 / RC6RSA사의 알고리즘. RC4는 스트림 암호, RC5/RC6는 블록 암호. RC4는 보안상 사용 자제됨.
IDEA (International Data Encryption Algorithm)128비트 키 사용. 유럽에서 개발된 알고리즘.
SEED한국에서 개발한 블록 암호. 128비트 키 사용.
ARIA국내 표준 블록 암호. AES와 유사하며 128/192/256비트 키 지원.

  1. 최소한번 모든 문장
  2. 결정 검증기준 , 참 / 거짓
  3. 전체 조건식을 무시하며 조건에 상관없이 개별조건 참/거짓

풀이 :
1. 베이스커버리지 // 모든문장수행
2. 조건별 참거짓을 검증기준으로하는 조건 커버리지
3. 조건식을 무시하며 조건 상관없이 참 거짓?? 좀더 라이트한 버전같음 , 결정 커버리지인가??

정답

지피티

✅ 정답 기준 표

번호설명정답 (커버리지 기법)비고
1최소 한 번은 모든 문장 수행문장 커버리지 (Statement Coverage)가장 기본적인 화이트박스 테스트
2조건 전체의 참/거짓 (Decision 기준)결정 커버리지 (Decision Coverage)if, while 등의 조건 분기 결과 기준
3전체 조건식 결과 무시, 조건별 참/거짓조건 커버리지 (Condition Coverage)복합 조건 내 개별 조건 각각 평가

🧠 너의 풀이 vs 실제 해설 비교 표

번호너의 풀이실제 해설평가
1베이스 커버리지 (O 의미는 맞음)문장 커버리지✅ 정확한 개념 이해
2조건 커버리지결정 커버리지❌ 조건의 의미를 혼동함
3결정 커버리지조건 커버리지❌ 2번과 3번이 뒤바뀜

주요 테스트 커버리지 기법들을 정리한 마크다운 표

커버리지 기법설명테스트 유형특징 및 목적
문장 커버리지 (Statement Coverage)모든 코드 문장(statement)이 최소 한 번 이상 실행되었는지 확인화이트박스 테스트가장 기본적인 테스트 커버리지
결정 커버리지 (Decision Coverage)조건문(if, while 등)의 결과(True/False)가 각각 한 번 이상 나왔는지 확인화이트박스 테스트분기 구조 테스트에 효과적
조건 커버리지 (Condition Coverage)조건식 내 각 개별 조건이 True/False가 한 번 이상 나왔는지 확인화이트박스 테스트복합 조건의 내부 평가에 초점
조건/결정 커버리지 (Condition/Decision)결정 + 조건 커버리지를 모두 포함. 조건과 결과 각각에 대해 True/False 확인화이트박스 테스트높은 신뢰도를 위한 테스트 기준
다중 조건 커버리지 (Multiple Condition Coverage)모든 조건 조합을 테스트 (예: T/F, T/T, F/F 등)화이트박스 테스트가장 강력하지만 테스트 수가 많아짐
경로 커버리지 (Path Coverage)가능한 모든 경로를 테스트화이트박스 테스트로직 오류, 예외 경로까지 커버 가능
루프 커버리지 (Loop Coverage)루프가 0회, 1회, 다수회 수행되는 케이스를 테스트화이트박스 테스트반복문 중심 테스트
데이터 흐름 커버리지 (Data Flow Coverage)변수의 정의(def)와 사용(use) 간의 관계를 테스트화이트박스 테스트변수 사용 오류 탐지에 효과적

( 1 ) 이%
( 2 ) DESC


  1. 연관성이없고 순서에 따라 수행되는 것 , 절차적 응집도에대한설명
  2. 동일한 입력과 출력이면 , 통신적 응집도 ( 통신적은 없네.. 교환적 )
  3. 기능에 기여하고 밀접한 연관의 응집도는 , 기능적 응집도

정답

풀이

응집도 순서 (낮은것부터 높은 순서)
우연적 > 논리적 > 시간적 > 절차적 > 교환적 > 순차적 > 기능적

  • 우연적 응집도 : 모듈 내부의 각 구성요소들이 연관이 없을 경우

  • 논리적 응집도 : 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우

  • 시간적 응집도 : 연관된 기능이라기보단 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우

  • 순차적 응집도 : 모듈 내에서 한 활동으로부터 나온 출력값을 다른 활동이 사용할 경우


  1. 가상회선 , 연결이미 했으니까
  2. 데이터그램 , 비연결형이고 헤더에 정보를 붙임

정답

풀이

패킷교환방식(저장 방식) : 패킷이라는 단위를 사용하여 데이터를 송신하고 수신합니다. 패킷이란 정보를 일정한 크기로 분할한 뒤 각각의 패킷에 송수신 주소 및 부가 정보를 입력한 것으로 현재 컴퓨터 네트워크에서 주로 사용하는 방식입니다. (EX : 인터넷)

반대개념

회선 교환 방식(비 저장 방식) : 물리적 전용선을 활용하여 데이터 전달 경로가 정해진 후 동일 경로로만 전달이 됩니다. 데이터를 동시에 전송할 수 있는 양을 의미하는 대역폭이 고정되고 안정적인 전송률을 확보할 수 있습니다. (EX : 전화망)


정답행위 패턴

풀이

행위패턴은 객체나 클래스 간의 교류 방법에 대해 정의하는 방법을 제시합니다.

행위패턴 클래스 : Interpreter, Template

행위패턴 객체 : Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, Visitor


14. 병행제어기법 중, 접근한 데이터에 대한 연산을 모두 마칠때까지 상호배제하는 기법을 무엇이라 하는지 작성하시오.

  1. 병행 제어
  2. 상호배제

풀이 : 교착상태에 사용하는 기술아닌가?? , 임계구역

정답 : 로킹

풀이

병행제어란 다중 프로그램이 이점을 활용하여 동시에 여러 개의 트랜잭션을 병행수행할 때, 동시에 실행되는 트랜잭션들이 데이터베이스의 일관성을 파괴하지 않도록 트랜잭션 간의 상호작용을 제어하는 것입니다.

병행제어기법 - 로킹, 타임 스탬프 순서, 최적 병행 수행, 다중 버전 기법

타임 스탬프 순서(Time Stamp Ordering) : 트랜잭션과 트랜잭션이 읽거나 갱신한 데이터에 대해 트랜잭션이 실행을 시작하기 전에 시간표(time stamp)를 부여하여 부여된 시간에 따라 작업을 수행하는 기법

최적 병행 수행(검증기법, 낙관적 기법) : 병행수행하고자 하는 대부분의 트랜잭션이 읽기 전용 트랜잭션일 경우, 트랜잭션 간의 충동률이 매우 낮아서 병행제어 기법을 사용하지 않고 실행되어도 이 중의 많은 트랜잭션은 시스템의 상태를 일관성 있게 유지한다는 점을 이용한 기법

다중 버전 기법 : 타임 스탬프의 개념을 이용한 기법으로 타임 스탬프는 트랜잭션 및 데이터들이 이용될 때의 시간을 시간표로 관리하지만 다중 버전 기법은 갱신될 때마다의 버전을 부여하여 관리하는 기법


  1. 일단 럼바우 데이터 모델링이 뭔지를 모름
  2. 입력값이 출력값인게뭐지?? ,
  3. 시간에 따라 변하는 것 , 동적다이어그램?? 이런게있나??
  4. 객체들 간의 관계를 정의 , 클래스다이어그램인가??

정답

풀이

럼바우 객체지향 분석 기법은 소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델링하는 분석 기법입니다.

분석활동 : 객체 모델링(Object Modeling), 동적 모델링(Dynamic Modeling), 기능 모델링(Functional Modeling)

럼바우 객체지향 분석 기법의 절차 :

객체 모델링 > 동적 모델링 > 기능 모델링

지피티

🧠 너의 풀이 평가

1 입력→출력 언급 → 감 잘 잡음 | 기능 중심 흐름 → Function ✅ 적절한 추론
2 시간 → 동적 다이어그램? | 객체 상태의 시간 변화 → Dynamic ✅ 적절한 추론
3 객체 간 관계 → 클래스 예상 | 관계/속성 중심 → Object ✅ 정확한 추론


16. 다음은 C언어에 관한 소스코드이다. 실행 결과값을 작성하시오.

int main(){
   int res;
   res = mp(2,10);
   printf("%d",res);
   return 0;
}
int mp(int base, int exp) {
   int res = 1;
   for(int i=0; i < exp; i++){
      res = res * base;
   }
   return res;
}
  1. 변수 생성
  2. 함수 파라미터 2, 10
  3. 반복문 i를 이용해서 0부터 9까지 반복
  4. 2씩 곱하기

정답 : 1024


17. 클래스 내에서 객체 생성 없이 사용할 수 있는 메소드로써 출력 결과를 작성하시오.

  public class Test {
     public static void main(String[] args){
        system.out.print(test.check(1));
     }
     (    )  String check (int num) {
        return (num >= 0) ? "positive" : "negative";
     }
  }

[출력결과]
positive

  1. 객체생성없이 사용?? static인가

정답


  1. 다음은 C언어 문제이다. 출력값을 작성하시오.
  int main(){
    int ary[3];
    int s = 0;
    *(ary+0)=1;
    ary[1] = *(ary+0)+2;
    ary[2] = *ary+3;
    for(int i=0; i<3; i++){
      s=s+ary[i]
    }
    print("%d",s);
  }
  1. 배열 생성 , 변수 생성
  2. *(ary+0)=1; // arr[0]에 1넣기
  3. ary[1] = *(ary+0)+2; // arr[0] 에다가 +2 3이됨 그걸 ary[1]에 넣어
  4. ary[2] = *ary+3; // ary[0]은 1임 거기다가 + 3을해서 ary[2]에총 4가들어감
  5. for(int i=0; i<3; i++){
    s=s+ary[i]
    } // i를 이용해서 0부터 2까지 반복 , 0 + 1 다음 1 + 3 다음 4 + 4 , 해서 8출력

정답


19. 다음은 JAVA 관한 문제이다. 알맞는 출력값을 작성하시오.

  public class over1 {
      public static void main(String[] args){
          ovr1 a1 = new ovr1();
          ovr2 a2 = new ovr2();
          System.out.println(a1.sun(3,2) + a2.sun(3,2));
      }
      int sun(int x, int y){
          return x + y;
      }
  }
  class ovr2 extends ovr1 {
      int sun(int x, int y){
          return x - y + super.sun(x,y);
      }
  }
  1. 객체 2개생성, 서로다른 객체임
  2. ovr2는 ovr1을 상속 .
  3. System.out.println(a1.sun(3,2) + a2.sun(3,2)); // a1.sun은 두개더해서 5 , a2는 3 - 2 + 5 = 6 , 11

정답


하스 스톤 , 하향식 스텁

profile
뭐가될지 모름

0개의 댓글