정보처리기사 실기 2020년 3회
1. 리팩토링의 목적에 대한 설명을 작성하시오.
코드를 이해하기 쉽도록 개선하는 것으로 코드의 실행 결과는 변형이 없이 구조만 재 수정 하는 것으로 코드의 가독서독성 높이고 , 유지보수를 쉽게 하기 위한 목적 이다.
2. 다음의 출력 결과를 쓰시오.
#include <stdio.h>
void main() {
int c=0;
int i=0;
while(i<10) {
i++;
c *= i;
}
printf("%d", c);
}
답 : 0
풀이 : c의 값을 출력하는 문제
c = 0;
while 문 0~9 / 10번 루프를 돌면서 i 의 값을 c에 곱해준다.
이때 c 는 0 이기 때문에 어떠한 값을 곱해도 변화 없이 0 이된다.
3. 다음 학생 테이블에서 이름이 민수인 튜플을 삭제하도록 결과를 작성하시오.
- 테이블명: 학생
- 필드명: 이름
답 : DELETE FROME 학생 WHERE 이름 = '민수';
4. TCP/IP에서 신뢰성없는 IP를 대신하여 송신측으로 네트워크의 IP 상태 및 에러 메시지를 전달해주는 프로토콜을 ( )이라 한다.
답 : ICMP
5. 다음의 출력 결과를 쓰시오.
public class Test{
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.print(sum);
}
}
답 : 30
풀이 : sum 의 값을 출력하는 문제이다.
while 문으로 (0~9) 10번 루프를 돌면서 i++
내부 if 문에 (i%2 == 1) 나머지가 1이면 continue를 통해서 while문으로 돌아간다.
i%2로 나눈 값이 0 일시 sum 에 i 값을 더해준다.
i%2 값이 0이될 i의 값은 2,4,6,8,10 이다.
그러므로 sum = 0+2+4+6+8+10 = 30
6. 심리학자 톰 마릴은 컴퓨터가 메시지를 전달하고 메시지가 제대로 도착했는지 확인하며 도착하지 않았을 경우 메시지를 재전송하는 일련의 방법을 '기술적 은어'를 뜻하는 ( )이라는 용어로 정의하였다. ( )안에 들어갈 용어는?
답 : 프로토콜
7. 다음 아래 제어 흐름 그래프가 분기 커버리지를 만족하기 위한 테스팅 순서를 쓰시오.
답 : 1,2,3,4,5,6,7 / 1,2,4,5,6,7 / 1,2,3,4,5,6,1 / 1,2,4,5,6,1
풀이 :
분기 커버리지는 결정 커버리지라고도 한다.
시험 대상의 전체 분기 중 테스트에 의해 실행된 측정값이다.
결정커버리지 = (수행된 분기 수 / 전체 분기수 ) *100
예를 들어 하나의 if문이 있을 경우 커버리지 100%를 달성하려면 true ,false 를 실행하는 테스트 데이터가 모두 필요.
8. 다음 조건을 만족하면서, 과목별 점수의 평균이 90이 상인 과목이름, 최소점수, 최대점수를 구하는 SQL문을 작성하시오.
- 대소문자를 구분하지 않는다.
- WHERE 구분을 사용하지 않는다.
- GROUP BY, HAVING구문을 반드시 사용한다.
- 세미콜론(;)은 생략 가능하다.
- 별칭(AS)을 사용해야 한다.
답:
SELECT 과목이름, MIN(점수) AS 최소점수, MAX(점수) AS 최대점수
FROM 성적
GROUP BY 과목이름
HAVING AVG(점수) >= 90;
9. 학생 테이블에서 이름이 민수인 튜플을 삭제하는 SQL문을 작성하시오
DELETE FROM 학생 WHERE 이름 = '민수';
10. 릴레이션 A, B가 있을 때 릴레이션 B 조건에 맞는 것들만 릴레이션 A에서 튜플을 꺼내 프로젝션하는 관계대수의 기호는 무엇인가?
답 : %
11. 다음 중 헝가리안 표기법(Hungarian Notation)에 대해서 서술하시오.
식별자 표기 시 접두어에 자료형을 붙이는 표기법
12. 테스트의 종류 중, 동치 분할 테스트, 경계값 분석 테스트 등의 종류가 있는 테스트 기법을 쓰시오.
답 : 블랙박스 테스트
13. 다음은 C언어 소스 코드이다. 출력 결과를 쓰시오.
#include <studio.h>
int r1(){
return 4;
}
int r10(){
return (30+r1());
}
int r100(){
return (200+r10());
}
int main(){
printf("%dn", r100());
return 0;
}
답 : 234
풀이 : 200 + 30+ 4 = 234
14. 데이터베이스에서 스키마(Schema)에 대해 간략히 설명하시오.
답 : 데이터베이스의 구조나 제약조건에 대한 명세.
내부스키마, 외부스키마, 개념스키마 가 있다.
15. 다음은 자바(Java) 코드이다. 출력 결과를 쓰시오.
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
풀이 :
Vehicle obj = new Car("Spark");
- Car 클레스 ( Vehicle 부모를 상속 받은 )
- 생성자를 통해서 부모의 setName메서드를 사용하여 name 변수에 Spark 가 들어간다.
System.out.print(obj.getName());
- Car 클레스에는 매개 변수가 없는 getName() 메서드가 존재 하지 않는다.
- 부모 클래스인 Vehicle 에서 선언한 getName() 메서드를 통해 값이 리턴된다.
16. UI 설계 원칙 중 직관성에 대해 설명하시오.
답 : 누구나 쉽게 이해하고 사용할 수 있어야한다.
17. 다음은 자바(Java) 코드이다. 출력 결과를 쓰시오.
public class Test{
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.print(sum);
}
}
5번이랑 동일
18. EAI 유형에는 메세지 버스(Message bus) 유형, 하이브리드(Hybrid) 유형, ( A ) 유형, ( B ) 유형이 있다. 괄호안에 들어갈 말을 적으시오.
답 : A. 포인트 투 포인트 B. 허브 앤 스포크
풀이 : EAI 는 기업의 애플리케이션 통합하여 하나의 시스템으로 관리 운영 할 수 있는 유기적인 시스템
통합 방식은 (포메허하) 포인트 투 포인트 , 메세지 버스 , 허브 앤스포크 , 하이브리드
19. C++에서 생성자란 무엇인지 쓰시오.
답 : 객체 생성시 자동으로 호출되어 실행되는 메서드
20. 학생 테이블에 주소 속성을 추가하는 SQL문을 작성하려고 한다. 빈 칸을 채우시오.
( A ) TABLE 학생 ( B ) 주소 VARCHAR(20);
답 : A. ALTER B.ADD
'Project · Etc > 정보처리기사' 카테고리의 다른 글
정보처리기사 실기 2020년 1회 (0) | 2023.07.07 |
---|---|
정보처리기사 실기 2020년 2회 (0) | 2023.07.07 |
정보처리기사 실기 2020년 4회 (0) | 2023.07.06 |
정보처리기사 실기 2021년 1회 (0) | 2023.07.06 |
정보처리기사 실기 2021년 2회 (0) | 2023.07.05 |