목차
2020년 3회 정보처리기사 실기
가독성을 위해서 정답은 청록색으로 표기하겠습니다.
■ 문제 1
리팩토링의 목적에 대하여 서술하시오.
복잡한 코드의 단순화, 소스의 가독성을 통해 유지보수성 향상, 유연한 시스템, 생산성 향상, 품질 향상이 있다.
■ 문제 2
다음은 C언어 코드이다. 출력 결과를 쓰시오.
#include <stdio.h>
void main(){
int i = 0, c = 0;
while (i<10){
i++;
c *= i;
}
printf("%d",c);
}
0
■ 문제 3
대표적인 내부 라우팅 프로토콜로 다익스트라 알고리즘을 이용한 대규모 네트워크에 적합한 링크 상태 라우팅 프로토콜로 불리는 라우팅 프로토콜은 무엇인가?
OSPF(Open Shortest Path First)
■ 문제 4
형상 통제를 설명하시오.
형상 항목의 버전 관리를 위해서 변경 여부와 변경 활동을 통제하는 활동
■ 문제 5
심리학자 톰 마릴은 컴퓨터가 메세지를 전달하고, 메세지가 제대로 도착했는지 확인하며, 도착하지 않았을 경우 메세지를 재전송하는 일련의 방법을 '기술적 은어'를 뜻하는 ( )이라는 용어로 정의했다. 괄호 ( ) 안에 들어갈 용어를 쓰시오.
프로토콜
■ 문제 6
TCP/IP에서 오류가 발생하면 ( ) 메세지를 보내서 오류가 발생했음을 알린다. 괄호 ( ) 안에 들어갈 용어를 쓰시오.
ICMP(Internet Control Message Protocol)
■ 문제 7
다음 아래 제어 흐름 그래프가 분기 커버리지를 만족하기 위한 테스팅 순서를 쓰시오.
1234561, 124567
1234567, 124561
■ 문제 8
다음 조건을 만족하면서, 과목별 점수의 평균 90 이상인 과목이름, 최소점수, 최대점수를 구하는 SQL문을 작성하시오.
대소문자를 구분하지 않는다. WHERE구문을 사용하지 않는다 GROUP BY, HAVING구문을 반드시 사용한다. 세미콜론(;)은 생략 가능하다. 별칭(AS)을 사용해야 한다. |
과목코드 | 과목이름 | 학점 | 점수 |
---|---|---|---|
1000 | 컴퓨터과학 | A+ | 95 |
2000 | 운영체제 | B+ | 85 |
1000 | 컴퓨터과학 | B+ | 85 |
2000 | 운영체제 | B | 80 |
과목이름 | 최소점수 | 최대점수 |
---|---|---|
컴퓨터과학 | 85 | 95 |
SELECT 과목이름, MIN(점수) AS '최소점수', MAX(점수) AS '최대점수' FROM 성적 GROUP BY 과목이름 HAVING AVG(점수) >= 90;
■ 문제 9
학생 테이블에서 이름이 민수인 튜플을 삭제하는 SQL문을 작성하시오.
학번 | 이름 | 점수 | 과목이름 |
---|---|---|---|
1000 | 김정미 | 90 | 알고리즘 |
2000 | 강은미 | 95 | 데이터베이스 |
3000 | 홍길동 | 90 | 전산수학 |
4000 | 민수 | 95 | 운영체제 |
DELETE FROM 학생 WHERE 이름='민수';
■ 문제 10
릴레이션 A, B가 있을 때 릴레이션 B 조건에 맞는 것들만 릴레이션 A에서 튜플을 꺼내 프로젝션하는 관계 대수의 기호는 무엇인가?
÷
■ 문제 11
다음 중 헝가리안 표기법(Hungarian Case)에 대해서 서술하시오.
헝가리안 표기법은 식별자 표기 시 접두어에 자료형을 붙이는 표기법
■ 문제 12
테스트의 종류 중, 동치 분할 테스트, 경계값 분석 테스트 등의 종류가 있는 테스트 기법을 쓰시오.
블랙박스 테스트
■ 문제 13
다음은 C언어 소스 코드이다. 출력 결과를 쓰시오.
#include <studio.h>
int r1(){
return 4;
}
int r10(){
return (30 + r1());
}
int r100(){
return (200 + r10());
}
int main(){
printf("%d\n", r100());
return 0;
}
234
■ 문제 14
DB스키마에 대해서 서술하시오.
데이터베이스의 구조, 제약조건 등의 정보를 담고 있는 기본적인 구조
■ 문제 15
다음은 자바 코드이다. 출력 결과를 쓰시오.
abstract class vehicle{
private String name;
abstract public String getName(String val);
public String getName(){
return "Vehicle name: " + name;
}
public void setName(String val){
name = val;
}
}
class Car extends Vehicle{
public Car(String val){
setName(val);
}
public String getName(String val){
return "Car name : " + val;
}
public String getName(byte val[]){
return "Car name : " + val;
}
}
public class good {
public Static void main(String[] args){
Vehicle obj = new Car("Spark");
System.out.print(obj.getName());
}
}
Vehicle name: Spark
■ 문제 16
UI 설계 원칙 중 직관성에 대해서 쓰시오.
누구나 쉽게 이해하고, 쉽게 사용할 수 있어야 하고, 쉬운 검색, 쉬운 사용성, 일관성이 부특성을 가지고 있는 UI설계 원칙
■ 문제 17
다음은 자바 코드이다. 출력 결과를 쓰시오.
public class good{
public static void main(String[] args){
int i=0;
int sum=0;
while (i<10){
i++;
if(i%2 ==1){
continue;
sum += i;
}
}
System.out.println(sum);
}
}
30
■ 문제 18
EAI 유형에는 메세지 버스(Message bus), 하이브리드(Hybrid), ( 1 ), ( 2 ) 4가지가 있다.
1. 포인트 투 포인트(Point-to-point)
2. 허브 앤 스포크(Hub & Spoke)
■ 문제 19
C++에서 생성자란 무엇인지 쓰시오.
해당 클래스의 객체가 생성될 때 자동으로 호출되는 특수한 종류의 메소드
■ 문제 20
학생 테이블에 주소 속성을 추가하는 SQL문을 작성하시오.
( 1 ) TABEL 학생 ( 2 ) 주소 VARCHAR(20);
1. ALTER
2. ADD