minlog
article thumbnail

 

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

실기 기출 문제를 풀어보며 공부한 내용입니다. 문제풀이와 모르는 내용들을 추가적으로 정리했습니다. 

문제는 ' https://newbt.kr/ ' 에서 확인했습니다.

 

기출문제 문제은행 - 뉴비티::완전 새로운 CBT, iBT 문제풀이 시스템

기사, 공무원, 공인중개사 등 로그인 필요 없는 수백가지 시험 기출문제 문제은행 시험 자격증 족보 년 최신

newbt.kr

 

 

1. 아래는 C언어의 2차원 배열 형태이다. 결과는 2차원 배열 형태로 출력된다. 출력값을 적으시오.

void main{
 
field {{0,1,0,1},{0,0,0,1},{1,1,1,0},{0,1,1,1}};
mines {{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}}; 
 
int w = 4, h = 4;
  for(y=0; y<h; y++) {
    for(x=0; x<w; x++) {  
    if(field[y][x] == 0) continue;
    
      for(i=y-1; i<=y+1; i++) {
        for(j=x-1; j<=x+1; j++) {
          if(calculate(w,h,j,i) == 1) {
            mines[i][j] += 1;
          }
        }
      }
    }
  }
  for(y=0; y<h; y++){
    for(x=0; x<w; x++)
      printf("%d", mines[y][x]);
      printf("n");
  }
 
}
 
 
int calculate(w,h,j,i) {
  if (i >= 0 && i < h && j >= 0 && j < w) return 1;
  return 0;
}
더보기

답 : 1, 1, 3, 2

3, 4, 5, 3

3, 5, 6, 4

3, 5, 5, 3


풀이 : 

field 값이 0이면 패스, i,j가 0~3이 아니면 패스
i,j는 y,x -1~+1 까지 반복

y=0 x=1
i=0,1 j=0,1,2
1110
1110
0000
0000

y=0 x=3
i=0,1 j=2,3
1121
1121
0000
0000

y=1 x=3
i=0,1,2 j=2,3
1132
1132
0011
0000

y=2 x=0
i=1,2,3 j=0,1
1132
2232
1111
1100

y=2 x=1
i=1,2,3 j=0,1,2
1132
3342
2221
2210

y=2 x=2
i=1,2,3 j=1,2,3
1132
3453
2332
2321

y=3, x=1
i=2,3 j=0,1,2
1132
3453
3442
3431

y=3, x=2
i=2,3 j=1,2,3
1132
3453
3553
3542

y=3, x=3
i=2,3 j=2,3
1132
3453
3564
3553

 


2. 다음 관계 대수 항목에 대해 괄호안에 들어갈 기호를 쓰시오.

 

 

더보기

답 :  U   /   -   /   X   /   π   /   


풀이 

순수관계연산자
연산자 기호 설명
SELECT δ(시그마) 선택조건
PROJECT π(파이) 속성 선택
- 주어진 릴레이션에서 속성 리스트에 제시된 속성 값만을 추출하여 새로운 릴레이션을 만든다. 단, 연산 결과에 중복이 발생하면 중복이 제거된다.

- 릴레이션에서 열에 해당하는 속성을 추출하는 것으로, 수직 연산이라고도 한다.
JOIN ⋈(보타이) 두 릴레이션의 결합
- 공통 속성을 중심으로 2개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만든다.
- JOIN 연산의 결과로 만들어진 릴레이션의 차수는 조인된 두 릴레이션의 차수를 합한 것과 같다.

DIVISION ÷(나누기) R 중 S 기준 교집합
- 두 릴레이션 R(X)과 S(Y)에 대해 Y⊆X, X-Y=Z라고 하면, R(X)와 R(Z,Y)는 동일한 표현이다. 이때, 릴레이션 R(Z,Y)에 대한 S(Y)의 DIVISION 연산은 S(Y)의 모든 튜플에 연관되어 있는 R(Z)의 튜플을 선택하는 것이다.
일반 집합 연산자
합집합  
교집합  
차집합 -  
교차곱 × (카티션프로덕트)

 


3. 다음은 디자인 패턴에 대한 설명이다. 괄호안에 알맞는 답을 작성하시오.

( 1 )은/는 기능을 처리하는 클래스와 구현을 담당하는 추상 클래스로 구별한다. 구현뿐 아니라 추상화도 독립적 변경이 필요할 때 ( 1 ) 패턴을 사용한다. 기존 시스템에 부수적인 새로운 기능들을 지속적으로 추가할 때 사용하면 유용하며, 새로운 인터페이스를 정의하여 기존 프로그램의 변경 없이 기능을 확장할 수 있다. ( 2 )은/는 한 객체의 상태가 변화하면 객체에 상속되어 있는 다른 객체들에게 변화된 상태를 전달해주는 패턴이다. 일대다 관계를 가지며, ​주로 분산된 시스템 간에 이벤트를 생성·발행(Publish)하고, 이를 수신(Subscribe)해야 할 때 이용한다.
더보기

답: 1. Bridge   2. Observer


풀이:

1. 생성 패턴

팩토리 메소드(Factory Method)  객체를 생성하기 위한 인터페이스를 정의 하여 어떤 클래스가 인스턴스화 될 것인지는 서브클래스가 결정
추상팩토리 (Abstract Factory) 구체적인 클래스에 의존하지 않고, 서로 연관·의존하는 객체들의 그룹으로 생성하여 추상적으로 표현
빌더(Builder) 건축가가 블록을 조립하는 모습
분리된 인스턴스(객체)를 건축하듯 조합하여 객체 생성
동일한 객체 생성에서도 다른 결과가 나올 수 있음.
프로토타입(Prototype) - 원본 객체를 복제하는 방법으로 객체를 생성하는 패턴
- 비용이 큰 경우 주로 이용.
싱글톤(Singleton) - 객체를 어디서든 참조할 수 있지만, 여러 프로세스가 동시에 참조하는 것은 불가능
- 인스턴스가 하나뿐이기 때문에 불필요한 메모리 낭비를 최소화

 

2. 구조패턴 (Structural Pattern)

어댑터(Abaptor) - 호환성을 맞춰주는 변압기
- 호환성이 없는 기존 클래스의 인터페이스를 변환하여 재사용할 수 있도록 한다.


브리지(Bridge) - 두 섬을 연결하는 다리
- 서로가 독립적으로 확장할 수 있도록 구성한 패턴
- 기능과 구현을 별도의 클래스에서 구현
컴포지트(Composite) - 폴더와 파일을 합성한 것
- 복합 객체와 단일 객체를 구분 없이 다루고자 할 때 사용
- 복합 객체 안에 복합 객체가 포함되는 구조 구현 가능
데코레이터(Decorator) - 온갖 것으로 장식된 눈사람
- 객체 간의 결합으로 기능을 확장할 수 있음
- 부가적인 기능 추가를 위해 다른 객체들을 덧붙이는 방식
퍼싸드(Facade) - 리모컨만으로 복잡한 명령을 수행하는 것
- 상위에 인터페이스를 구성하여 서브 클래스들의 기능을 수행할 수 있음
- 서브 클래스들 사이의 통합 인터페이스를 제공하는 Wrapper 객체 필요
플라이웨이트(Flyweight) -부담을 가볍게 하기 위해 물품 공유
- 인스턴스를 가능하 한 공유해서 사용하여 메모리 절약
- 다수의 유사 객체를 생성하거나 조작할때 유리함
프록시(Proxy) - 하기 어려운 업무를 대리로 해주는 사람
- 접근이 어려운 객체와 여기 접근하려는 객체 사이의 인터페이스 역할
- 네트워크 연결, 메모리의 대용량 객체로의 접근에 이용

 

3. 행위 패턴(Behavioral Pattern)

책임 연쇄(Chain of Responsibility) - 한 객체가 처리하지 못하면 다음 객체로 넘어가는 패턴
- 요청이 해결될 때까지 고리를 따라 책임이 넘어감
커맨드(Command) - 명령어를 하나로 합쳐둔 것
- 요청을 캡슐화하여 재이용하거나 취소할 수 있도록 저장하거나 로그로 남김
- 추상클래스와 구체클래스로 나뉨
인터프리터(Interpreter) - 언어 번역
- 언어에 문법 표현을 정의함
- SQL이나 통신 프로토콜에 사용
반복자(Iterator) - 같은 명령의 반복
- 접근이 잦은 객체에 대해 동일한 인터페이스를 사용
- 내부 표현 방법의 노출 없이 순차적인 접근 가능
중재자(Mediator) - 매매를 중개해주는 중개사이트
- 객체들 간의 복잡한 상호작용을 캡슐화하여 객체로 정의
- 객체 사이의 결합도를 감소시킴
메멘토(Memento) - 기억속의 그때로 돌아감
- 객체를 특정 시점의 상태로 돌릴 수 있는 기능
옵서버(Observer) - 변화를 지켜보고 알려주는 것
- 한객체의 상태 변화시 다른 객체에게 알림
- 시스템간에 이벤트를 생성하고 수신할 때 사용.
상태 (State) - 상태에 따라 다른 방법을 사용함
- 객체의 상태에 따라 동일한 동작을 다르게 처리
- 객체 상태를 캡슐화하고 이를 참조
전략 (Strategy) - 여러 전략을 정하고 필요할 때 선택하여 씀
- 동일한 계열의 알고리즘을 캡슐화하여 상호 교환할 수 있게 정의함
- 원하는 알고리즘을 선택하여 사용하며 클라이언트에 영향 없이 알고리즘 변경 가능
템플릿 메소드(Template Method) - 방법들을 큰 틀로 묶는 것
- 상위 클래스에서 골격 정의, 하위 클래스에서 세부 처리를 구체화
- 유사한 서브 클래스의 공통된 내용을 상위 클래스에서 정의(유지보수를 용이하게 함)
방문자 (Visitor) - 책을 만들기 위해 저자, 편집자를 번갈아가며 방문
- 각 클래스들의 데이터 구조에서 처리 기능을 별도의 클래스로 구성
- 분리된 기능은 각 클래스를 방문하여 수행

 

 


4. 아래 코드에 대한 출력 값을 작성하시오.

void main{
 
int []result = int[5];
int []arr = [77,32,10,99,50];
 
  for(int i = 0; i < 5; i++) {
    result[i] = 1;
    for(int j = 0; j < 5; j++) {
      if(arr[i] <arr[j]) result[i]++;
    }
  }
 
  for(int k = 0; k < 5; k++) {
    printf(result[k]);
  }
}
더보기

답 : 2 / 4 / 5 / 1 / 3


풀이 :

arr[0] <arr[0]  result[0]= 1
arr[0] <arr[1]  result[0]= 1
arr[0] <arr[2]  result[0]= 1++
arr[0] <arr[3]  result[0]= 2
arr[0] <arr[4]  result[0]= 2
   2
arr[1] <arr[0]  result[1]= 1++
arr[1] <arr[1]  result[1]= 2
arr[1] <arr[2]  result[1]= 2
arr[1] <arr[3]  result[1]= 2++
arr[1] <arr[4]  result[1]= 3++
   4
arr[2] <arr[0]  result[2]= 1++
arr[2] <arr[1]  result[2]= 2++
arr[2] <arr[2]  result[2]= 3
arr[2] <arr[3]  result[2]= 3++
arr[2] <arr[4]  result[2]= 4++
   5
arr[3] <arr[0] result[3]= 1
arr[3] <arr[1] result[3]= 1
arr[3] <arr[2] result[3]= 1
arr[3] <arr[3] result[3]= 1
arr[3] <arr[4] result[3]= 1
   1
arr[4] <arr[0] result[4]= 1++
arr[4] <arr[1] result[4]= 2
arr[4] <arr[2] result[4]= 2
arr[4] <arr[3] result[4]= 2++
arr[4] <arr[4] result[4]= 3
3

 

 


5. 192.168.1.0/24인 네트워크를 FLSM 4개로 분할하였다. 두번째 네트워크 브로드캐스드 IP를 10진수로 변환한 값을 작성하시오.

더보기

답 : 192.168.1.127

 


6. 다음과 같이 점수에 따른 금액을 출력하는 알고리즘이 있다. 테스트 입력값을 보고 이와 같은 테스트의 명칭을 적으시오.

[입출력]
점수: 90~100 → 금액: 700만원
점수: 80~89 → 금액: 500만원
점수: 70~79 → 금액: 300만원
점수: 0~69 → 금액: 0만원

[테스트 입력값] -1, 0, 1, 69, 70, 71, 79, 80, 81, 89, 90, 91, 99, 100, 101
더보기

답 : 경계값 분석 ( Boundary Value Analysis )


풀이 : 동치 분할의 경계부분에 해당되는 입력값에서 결함이 발견될 확률이 높다는 특성을 이용한 소프트웨어 테스트 기법

예시 :

  • 테스트 대상의 입력값 범위가 1~100이라면,
    • 유효 균등 유형은 1~100이고
    • 무효 균등 유형은 0, -1, -2, -3... 과 101, 102, 103
    • 경계값인 -1, 0, 100, 101로 테스트

 


7. 아래와 같은 테이블에 SQL 명령어를 적용할 경우 알맞는 출력값을 작성하시오.​

실문제?에선 CASCADE로 만들어졌고, 부서코드는 PK로 선언되어 있다.

[직원]테이블 부서코드는 [부서]테이블의 부서코드를 FK로 참조함

CREATE TABLE 부서(

   부서코드 int, 부서명 varchar(50)

   PRIMARY KEY(부서코드)

   FORELGN KEY(부서코드)
   REFERENCES 직원(부서코드)

   ON DELETE CASCADE

);

CREATE TABLE 직원(

직원코드 int, 부서코드 int

PRIMARY KEY(직원코드)

FORELGN KEY(부서코드) PEFERENCES 부서(부서코드)

);

 

insert into 부서 (부서코드, 부서명) value ('10', '영업부');

insert into 부서 (부서코드, 부서명) value ('20', '기획부');

insert into 부서 (부서코드, 부서명) value  ('30', '개발부');

insert into 직원 (직원코드, 부서코드) value ('1000', '10');
insert into 직원 (직원코드, 부서코드) value ('2000', '10');
insert into 직원 (직원코드, 부서코드) value ('3000', '20');
insert into 직원 (직원코드, 부서코드) value ('4000', '20');
insert into 직원 (직원코드, 부서코드) value ('5000', '20');
insert into 직원 (직원코드, 부서코드) value ('6000', '30');
insert into 직원 (직원코드, 부서코드) value ('7000', '30');

SELECT DISTINCT COUNT(직원코드) FROM 직원 WHERE 부서코드 = '20';


DELETE FROM 부서 WHERE 부서코드 = '20';
SELECT DISTINCT COUNT(직원코드) FROM 직원;
더보기

답 :  3  /   4

 


8. 아래 설명에 대한 알맞는 답을 작성하시오.

( 1 ) 은/는 보안학적 측면에서 기술적인 방법이 아닌 사람들간의 기본적인 신뢰를 기반으로 사람을 속여 비밀 정보를 획득하는 기법이다.

( 2 ) 은/는 빅데이터(Big Data)와 비슷하면서도 구조화돼 있지 않고, 더는 사용하지 않는 ‘죽은’ 데이터를 의미한다. 일반적으로 정보를 수집해 저장한 이후 분석이나 특별한 목적을 위해 활용하는 데이터가 아니며, 저장공간만 차지하고 이러한 이유로 심각한 보안 위험을 초래할 수 있다.
더보기

 답 :  (1) 사회공학  / (2) 다크 데이터


해설  :

사회공학

  • 인간 상호 작용의 깊은 신뢰를 바탕으로 사람들을 속여 정상 보안 절차를 깨트리기 위한 비기술적 침입 수단  
  • 사람과 사람 사이에 존재하는 기본적인 신뢰를 바탕으로 공격을 하거나 원하는 정보를 취득하는 행위

 

다크 데이터

  • ‘다크 데이터’는 저장하고 있으나 내용 또는 가치가 확인되지 않는 데이터를 말한다.

 


9. 다음 파이썬 코드에 대한 출력값을 작성하시오.

TestList = [1,2,3,4,5]
TestList = list(map(lambda num : num + 100, TestList))
 
print(TestList)
더보기

답 : [101,102,103,104,105]


풀이 :

TestList 배열객체를 map 으로 열거하여 다시 list로 받아 TestList에 대입하여 준다. 

map의 내부에서 각 인덱스가 num이고 대입될때 기존 num 값에  + 100 이되어 들어간다.

 


10. 다음 보안 관련 설명으로 가장 알맞는 용어를  작성하시오.

( )은/는 머신러닝 기술을 이용하여 IT 시스템에서 발생하는 대량의 로그를 통합관리 및 분석하여 사전에 위협에 대응하는 보안 솔루션이다. 서로 다른 기종의 보안솔루션 로그 및 이벤트를 중앙에서 통합 수집하여 분석할 수 있으며, 네트워크 상태의 monitoring 및 이상징후를 미리 감지할 수 있다.
더보기

답 : SIEM


풀이 : 

SIEM ( Security Information & Event Management  )

ESM의 진화된 형태로 볼 수 있으며 네트워크 하드웨어 및 응용 프로그램에 의해 생성 된 보안 경고의 실시간 분석을 제공한다.

 


11. 다음 보기 중 형상 관리 도구에 해당하는 것을 모두 고르시오.

ATM, CVS, OLAP, DDOS, SVN, Cyber Kill Chain, OLTP, Git
더보기

답 : CVS / SVN / Git 


풀이 :

형상관리

소프트웨어 개발 프로세스 각 단계에서 소프트웨어의 변경점을 체계적으로 관리하는 일련의 활동

  • CVS (Concurrent Versions System, 동치 분할 시스템)
    • 개발과정에서 사용하는 파일들의 변경 명세를 관리하기 위한 시스템 , 속도 느
  • SVN(Subversion) 
    • CVS의 단점을 보완하여 만들어진 형상관리도구
    • 서버와 클라이언트로 구분되어, 개발과정에서 사용하는 파일들을 관리하기 위한 시스템
    • import , commit , commit log, checkout, revert , switch, update, merge 등의 명령어 사용
  • Git
    • 리눅스 커널의 개발을 위해 만들었으며, 개발자가 중앙 서버에 접속하지 않은 상태에서도 코딩 작업을 할 수 있도록 지원하는 버전환리 시스템
    • 로컬 우선 작업을 통해 성능이 CVS,SVN 보다 우수
    • 팀 개발을 위한 분산환경 코딩에 최적

 


12. STUDENT 테이블에서 컴퓨터과 학생 50명, 전기과 학생 100명, 인터넷과 학생 50명의 정보가 저장되어 있을 때, 다음 SQL문의 실행 결과에 따른 튜플의 수는?

(단, DEPT 칼럼은 학과명이다.)

1) SELECT DERP FROM STUDENT;
2) SELECT DISTINCT DEPT FROM STUDENT;
3) SELECT COUNT(DISTINCT DEPT) FROM STUDENT WHERE DEPT = '인터넷과';
더보기

답 : 1) 200  /  2) 3  /  3) 1


풀이 :     

1 ) 학생 테이블의 전체 학과명 = > 전체 학생 수 => 200

2 ) 학생 테이블의 DISTINCT(중복 제거) 학과명 => 컴퓨터과, 인터넷과, 전기과 => 3

3) 학생 테이블의 학과명이 인터넷과인 , 전체 학과명에서 DISTINCT(중복 제거)   => 1

※ DISTINCT는 데이터의 중복을 제거 한다. 

 


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

int n;
int k;
int s;
int el = 0;
 
  for(n=6; n<=30; n++){
    s=0;
    k=n/2;
    for(int j=1; j<=k; j++){
      if(n%j==0){
        s=s+j;
      }
    }
    if(s==n){
    el++;
    }
  }
  
  printf("%d", el);
더보기

답 :  2


풀이 :  완전수 찾기

6 == 1 + 2 + 3

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

 

🤔 완전수란 자기자신의 약수 중 자신을 제외한 수의 합이 자신의 값과 동일한 것

6은 가장 작은 완전수로, 6의 약수는 1, 2, 3, 6이며, 이중 6 자신을 제외한 세 수의 합은 6으로 원래의 값과 일치한다. 

 


14. 아래 설명에 대하여 알맞는 답을 작성하시오.

( 1 )은/는 프로세서(processor) 안에 독립적인 보안 구역을 따로 두어 중요한 정보를 보호하는 ARM사에서 개발한 하드웨어 기반의 보안 기술로 프로세서(processor) 안에 독립적인 보안 구역을 별도로 하여, 중요한 정보를 보호하는 하드웨어 기반의 보안 기술이다.
( 2 )은/는 사용자들이 사이트에 접속할 때 주소를 잘못 입력하거나 철자를 빠뜨리는 실수를 이용하기 위해 유사한 유명 도메인을 미리 등록하는 일로 URL 하이재킹(hijacking)이라고도 한다.
더보기

답 :

1. 트러스존 ( Trustzone )
2. 타이포스쿼팅 ( typosquatting )


풀이 :

트러스존 ( Trustzone )

CPU 안에 보안에 있어서 신뢰할 수 있는 환경 ( TEE, Trusted Execution Environment )을 만들어야 하는데 벤더 회사마다 명칭을 다르게 하지만 Arm은 그 환경을 TrustZone이라고 부른다.

트러스트존(TrustZone) 기술은 하드웨어에서 직접 실행되며 하나의 CPU를 2개의 가상 공간, 즉 일반 구역(normal world)과 보안 구역(secure world)으로 분할하여 관리한다. 보안이 필요하지 않은 작업은 일반 구역에서 실행되고, 보안이 필요한 작업은 보안 구역에서 실행된다. 모바일 프로세서(AP), 컴퓨터 중앙 처리 장치(CPU)에 트러스트존 기술을 적용하여 스마트폰이나 태블릿PC, 컴퓨터 등에 저장된 결제, 인증서, 회사 기밀정보 등 중요한 정보와 응용 프로그램을 외부 공격에 노출하지 않고 운영 체제(OS) 수준에서 안전하게 보호할 수 있다. 

 

타이포스쿼팅(Typosquatting)

다른말로 URL 하이재킹이라고 불리는 사회공학적 기법 중 하나입니다. 일종의 ‘단어우월’ 효과의 영향으로 사람은 글자 하나하나를 인식하기 보다는 단어 하나를 전체로 인식하는 경향이 있습니다. 그러한 인간의 자연스러운 행동을 노려, URL의 철자를 속여서 교묘하게 사이트를 위장하는 사이버 공격이 타이포스쿼팅입니다.

타이포스쿼팅은 위장 사이트로의 유도 뿐만 아니라, 다운로드 받는 파일의 이름을 교묘하게 바꿈으로써 악성 소프트웨어를 다운로드하도록 유도하기도 합니다.

 


15. 아래 설명에 대하여 괄호 안에 들어갈 알맞는 용어를 작성하시오.

( 괄호 )은/는 여러 개의 사이트에서 한번의 로그인으로 여러가지 다른 사이트들을 자동적으로 접속하여 이용하는 방법을 말한다. 일반적으로 서로 다른 시스템 및 사이트에서 각각의 사용자 정보를 관리하게 되는데 이때 하나의 사용자 정보를 기반으로 여러 시스템을 하나의 통합 인증을 사용하게 하는 것을 말한다. 즉 하나의 시스템에서 인증을 할 경우 타 시스템에서는 인증 정보가 있는지 확인하고 있으면 로그인 처리를 하도록 하고, 없는 경우 다시 통합 인증을 할 수 있도록 만드는 것을 의미한다.
더보기

답 : 

SSO ( Single Sign On )
싱글 사인 온


풀이 : 

SSO  ( Single Sign On )

한번의 로그인으로 여러 허용된 자원에 접근할 수 있도록 하는 기술

 


16. 다음은 스케줄링에 관한 내용이다. 괄호안에 알맞는 답을 작성하시오.

더보기

답 :  A . FCFS  /  B. SJF  /  C . RR (라운드 로빈)  /  D . SRT


풀이 :

구분 기법 설명 문제/해
비선점 FCFS 먼저 들어온 프로세스 먼저 처리 Convoy Effect 발생
SJF
(
Shortest Job First)
처리시간이 짧은 프로세스부터 처리 Starvation 발생
HRN
( Highest Response-ratio Next Scheduling)
짧은 작업시간이면서 대기시간이 긴 프로세스부터 처리 Starvation 해결
선점 라운드 로빈
(RR Round Robin)
먼저 들어온 순서대로 일정 시간만큼만 처리  
SRT 남은 시간이 짧은 프로세스부터 처리  
MLQ 우선순위별로 큐를 분리하여 다양한 스케줄링 적용 Starvation 발생
MLFQ MLQ에서 큐 간 이동하여 우선순위 조정 Starvation 해결
RM RTOS에서 요청 주기가 짧은 순서대로 처리  
EDF
(Earliest Deadline First Scheduling)
RTOS에서 마감 시간이 임박한 순서대로 처리 마감시간 계산 어려움

 

 


17. 다음은 UML에 관한 설명이다. 괄호안에 알맞는 답을 작성하시오.

UML은 통합 모델링 언어로써, 시스템을 모델로 표현해주는 대표적인 모델링 언어이다. 구성 요소로는 사물, ( 1 ), 다이어그램으로 이루어져 있으며, 구조 다이어그램 중, ( 2 ) 다이어그램은 시스템에서 사용되는 객체 타입을 정의하고, 그들 간의 존재하는 정적인 관계를 다양한 방식으로 표현한 다이어그램이다. 또한 UML 모델링에서 ( 3 )은/는 클래스와 같은 기타 모델 요소 또는 컴포넌트가 구현해야 하는 오퍼레이션 세트를 정의하는 모델 요소이다.
더보기

답 : 1 .관계  /  2. 클래스   /  3. 인터페스


문제풀이:

UML 

시스템을 모델로 표현해주는 대표적인 모델링 언어

UML 구성요소 

구성요소 내용
사물(Things) 구조, 행위, 그룹, 주석 등
관계(Relationships) 의존 관계, 연관 관계, 일반화 관계 등
다이어그램(Diagrams) 객체 다이어그램, 클래스 다이어그램, 시퀀스 다이어그램 등

 

UML 다이어그램의 종류

1. 구조 다이어그램(Structure Diagram)

  • 클래스 다이어그램(Class Diagram)
  • 객체 다이어그램(Object Diagram)
  • 복합체 구조 다이어그램(Complex Structure Diagram)
  • 배치 다이어그램(Deployment Diagram)
  • 컴포넌트 다이어그램(Component Diagram)
  • 패키지 다이어그램(Package Diagram)

2. 행위 다이어그램(Behavior Diagram)

 


18. 다음은 E-R다이어그램의 표기 방법이다. 각 칸에 들어갈 알맞은 답을 골라 쓰시오.

다중값 속성, 약한 개체 타입, 키 속성, 개체 타입, 속성, 관계 타입, 속성, 약한 관계 타입

더보기

답 : A .  개체 타입  /  B . 약한 개체 타입  /  C .관계 타입   /  D . 약한 관계 타입  /  E . 속성   /  F . 키 속성   /  G . 다중값 속성

 


19. 다음 자바 코드에 대한 출력 값을 작성하시오.

public class Main {
  static int[] MakeArray(){
 
  int[] tempArr = new int[4];
  
  for(int i=0; i<tempArr.Length;i++){
    tempArr[i] = i;
  }
  
  return tempArr;
  }
  
  public static void main(String[] args){
  
  int[] intArr;
  intArr = MakeArray();
  
  for(int i=0; i < intArr.Length; i++)
  System.out.print(intArr[i]);
 
  }
}
더보기

답 : 0123


풀이 :  

1. MakeArray라는 함수에서 배열을 리턴하고 있다. 

int[] tempArr = new int [4]  => 4자리 배열 생성

for문으로 int i = 0 부터 tempArr.Length  =  4 이하 까지 돌리며 i는 하나씩 증가한다.

0부터 시작하므로 for문은 총 4번 돌아가게된다.

내부에서는 tempArr 배열의 i 인덱스 값에 i가 들어간다.  => tempArr [0,1,2,3]

리턴되는 값은 tempArr [0,1,2,3]

2. 메인에서 MakeArray를 intArr에 대입하여 for문을 돌린다. 

for문으로 int i = 0 부터 intArr.Length  =  4 이하 까지 돌리며 i는 하나씩 증가한다.

0부터 시작하므로 for문은 총 4번 돌아가게된다.

각 배열의 값을 출력하고 있다. => 0123

 


20. 다음 자바 코드에 대한 출력 값을 작성하시오.

public class Exam {
  public static void main(String[] args){
  
  int a = 0;
  for(int i=1; i<999; i++){
    if(i%3==0 && i%2!=0)
      a = i;
    }
    System.out.print(a);
}
더보기

답  : 993


풀이 :

for문으로 i가 1 부터 999 이하 까지 돌고 있다.  => 998번 루프

이때 3의 배수이면서 2의 배수가 아닌 값이 계속해서 a에 대입된다.

for문 밖에서 결과값이 출력되기 때문에 마지막 998부터 값을 찾아보면 된다.

이때 3의 배수이면서 2의 배수가 아닌 값은 993이다.

 

profile

minlog

@jimin-log

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