반응형

알고리즘과 DB 일부 문제만 정리하였습니다.

 

최근 기출문제(2019년부터)는 하단 링크를 참고해 주세요.

 

정보처리산업기사 실기 출제 유형 및 최근 기출 문제 정리(19년 1회부터 21년 1회)

정보처리 산업기사 실기 시험은 2017년 한 번 개정되고 내년에 NCS로 다시 개정을 앞두고 있습니다. 이 글에서는 2019년 1회부터 가장 최근에 있었던 2021년 1회까지 어떤 문제가 출제되었는지 정리

developer-rooney.tistory.com

알고리즘 - C언어

 

다음 C언어로 구현된 팩토리얼 계산 프로그램에서 (1), (2)에 들어갈 가장 적당한 변수와 조건식을 C언어 코드로 적으시오.

 

#include <stdio.h>

int Factorial(int n) {

    if (   (1)    )
        return;
        
    else
        return (2);

}

void main() {

    int i;
    printf("숫자를 입력하시오 : ");
    scanf("%d", &i);
    printf("%d! : %d\n", i, Factorial(i));

}

 

정답

 

(1) n == 1

(2) n * Factorial(n-1)

 

 

해설

 

재귀함수를 이용한 팩토리얼 문제입니다. 팩토리얼은 '차례곱'이라는 의미로 정수 n이 있을 때 n!은 1부터 n까지의 곱을 의미합니다. 재귀함수는 특정 조건과 만날 때까지 자기 자신을 반환하는 함수인데 이 문제의 Factorial(int n) 함수도 재귀함수입니다. Factorial(int n) 함수는 매개변수로 정수 n을 입력받아 1부터 n까지의 곱을 반환합니다. 이 때 팩토리얼의 시작인 1을 만났을 때 재귀함수의 반복이 종료되어야하므로 (1)에는 n == 1이 입력되고, 그 전까지는 return을 통해 계속하여 자기 자신을 호출하면서 매개변수로 입력된 값을 1씩 낮춰야하므로 (2)에는 n * Factorial(n-1)이 들어갑니다.

 

 

알고리즘 - Java

 

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

 

public class Test {

    public static void main(String[] args) {
    
       int[] a = {10, 2, 3, 4, 6, 7, 6, 3, 2};
       
       int i = a.length - 1;
       
       int cnt = 0;
       
       while( i >= 0) {
       
           if (a[i] == 2) {
               cnt++;
           }
           i--;
       
       }
       System.out.print(cnt);
    }

}

 

정답

 

2

 

해설

 

2의 개수를 출력하는 문제입니다. a는 정수 배열, i는 a의 마지막 인덱스 값을 저장하는 정수 변수, cnt는 배열 a에서 2를 찾을 때마다 1씩 증가시켜 총 개수를 담는 변수입니다.

 

while문의 조건을 보면 i가 0보다 크거나 같을 때까지만 반복을 하는데 i의 값은 8이므로 while문이 반복될 때마다 a[i]를 통해 값을 하나씩 꺼내면서 if문의 조건 a[i] == 2인지를 비교합니다.

 

배열 a에는 2가 2개 있기 때문에 답은 2가 됩니다.

 

 

데이터베이스

 

다음 데이터베이스와 관련된 설명에 가장 적합한 용어를 빈칸 (  1  ), (  2  )에 각각 적으시오.

 

스키마는 데이터베이스의 전체적인 구조와 제약조건에 대한 명세를 기술, 정의한 것을 말하며, 스킴(Scheme)이라고도 한다. 스키마의 구조는 내부 스키마, 개념 스키마, 외부 스키마 3단계로 구분하며 각 단계는 상호 독립적인 의미를 갖는다. 각 단계의 분리 영역을 다음과 같이 구분하여 지정한다.

 

(  1  ) 독립성 : 외부 스키마가 변경되어도 개념 스키마가 영향을 받지 않는다는 것을 의미한다. 즉, 논리적 구조가 변경되어도 응용 프로그램에는 영향을 미치지 않는다.

 

(  2  ) 독립성 : 내부 스키마가 변경되어도 외부 스키마와 개념 스키마는 영향을 받지 않는다는 것을 의미한다. 저장 장치의 구조 변경이 응용 프로그램이나 개념 스키마에 영향을 미치지 않는다.

 

정답

 

(  1  ) : 논리적

(  2  ) : 물리적

 

해설

 

(  1  ) : 지문에 논리적 구조에 관한 설명이 있으므로 논리적 독립성에 대한 설명입니다.(  2  ) : 지문에 저장 장치에 관한 설명이 있으므로 물리적 독립성에 대한 설명입니다.

반응형

+ Recent posts