반응형

용어 명칭 혹은 내용이 비슷한 용어를 위주로 정리하였습니다.

 

기출 문제 총 정리는 하단 링크를 참고해 주세요.

 

정보처리산업기사 업무 프로세스 용어 정리

정보처리 산업기사 실기에서 업무 프로세스 영역은 15점 내외로 출제됩니다. 문제 유형에는 암기가 필요한 용어 문제와 주어진 지문 내에서 답을 찾는 유형으로 나눌 수 있습니다. 해당 글은 업

developer-rooney.tistory.com

업무 관리, 시스템 관련

 

ERP : 생산, 판매, 자재, 인사, 회계 등 기업의 전반적인 업무 프로세스를 하나의 체계로 통합 및 재구축하여 관련 정보를 서로 공유하고 이를 통해 신속한 의사결정 및 업무 수행이 가능하도록 도와주는 패키지 시스템이다.

 

SCM(Supply Chain Management) : 제품이 생산되어 판매되기까지의 모든 공급 과정을 파악, 관리하는 경영 전략 시스템이다. 

 

CRM(Customer Relationship Management) : 고객의 요구나 의견을 분석하여 고객의 성향과 욕구를 충족시키는 마케팅을 실시함으로써 고객 관리 비용을 최소화하고 지속적인 기업 가치의 상승을 목적으로 하는 고객 중심의 경영 기법을 의미한다. 고객 정보를 세부적으로 분류하여 고객의 구매 관련 행동을 지수화하고, 신규 고객 유치, 장기 고객 관리, 잠재 고객 발굴 등과 같은 사이클을 통해 고객과의 관계를 관리한다.

 

CPM(Corporate Performance Management) : 기업 경영 환경에 효과적으로 대처하기 위해 예측 경영을 통한 최적의 의사 결정을 내릴 수 있게 해주는 시스템이다. 변화하는 경영 환경에 대응하여 경영 계획, 성과 분석, 예측, 전략 분석, 시뮬레이션 등 일련의 프로세스를 연계함으로써 효과적인 전략 수립이 가능하고, 원가를 최소화 할 수 있는 생산 장소 및 유통 경로 등 다양한 의사 결정에 활용할 수 있어 시나리오 경영의 필수 시스템으로 인식되고 있다.

 

BPM(Business Process Management) : 비즈니스 프로세스 최적화 및 관리 목표를 달성할 수 있도록 엔드 투 엔드 비즈니스 프로세스를 모델링, 분석, 최적화하는 기법이다. 자주 반복되거나 진행중이거나 예측 가능한 업무와 프로세스에 BPM 방법론을 적용할 수 있다.

 

KMS(Knowledge Management System) : 기업 내의 지식을 관리하기 위한 분산 하이퍼 미디어 시스템으로 기업 환경이 지적 재산의 중요도가 부각되는 지식 기반 사회로 급격히 이동함에 따라 기업을 지식이라는 관점에서 새롭게 조명하는 접근 방식이다.

반응형
반응형

신기술 용어 중 암기하면서 헷갈릴 수 있는 용어를 위주로 몇 가지 정리했습니다.

 

신기술 기출 문제 총 정리는 아래 링크에서 학습해 주세요.

 

정보처리산업기사 신기술 및 시스템 관리 용어 정리

정보처리산업기사 실기에서 신기술 용어 및 시스템 관리 부분에서 25점 내외로 배점되고, 기존 기출 문제와 더불어 새로운 문제 출제 가능성이 있는 과목으로 범위가 넓어서 만점을 맞기는 어렵

developer-rooney.tistory.com

네트워크 기술 용어

 

MST(Magnetic Secure Transmission) : 루프 안테나가 내장된 휴대폰을 마그네틱 결제 단말기에 근접시켜 신용카드 정보를 전송하는 기술로, 마그네틱 신용카드를 마그네틱 결제 단말기에 접속시킬 때 발생되는 자기장과 동일한 자기장을 휴대폰에서 발생시켜 무선으로 신용카드 정보가 결제 단말기에 전달한다.

 

RFID(Radio Frequency IDentification) : 전파 신호를 통해 비접촉식으로 사물에 부착된 얇은 평면 형태의 태그를 식별하여 정보를 처리하는 시스템으로, 판독 및 해독 기능을 하는 판독기와 고유 정보를 내장한 RFID 태그, 운용 소프트웨어 및 네트워크로 구성된다.

 

ONS(Objecte Name Service) : RFID 코드와 관련된 사물의 구체적인 정보가 저장된 서버 위치를 알려주는 서비스이다.

 

USN(Ubiquitous Sensor Network) : 각종 센서에서 감지한 정보를 무선으로 수집할 수 있도록 구성한 네트워크이다. WPAN, ad-hoc Network 등이 발전함에 따라 매우 활성화되고 있다.

 

ad-hoc Network(애드혹 네트워크) : 고정된 유선망을 가지지 않고 이동 호스트로만 이루어진 네트워크이다.

 

WPAN(Wireless Personal Area Network) : 10m 이내의 거리에서 무선 서비스를 제공하기 위한 무선 개인 통신망이다.

 

WBAN(Wireless Body Area Network) : 웨어러블(Wearable) 또는 몸에 심는 형태의 센서나 기기를 무선으로 연결하는 개인 영역 네트워크 기술이다. 무선 센서나 기기로부터 수집한 정보를 휴대 전화 또는 간이형 기지국을 통하여 병원이나 기타 필요한 곳에 실시간으로 전송함으로써 u-헬스케어 등의 서비스를 받는 데 응용할 수 있다.


VPN(Virtual Private Network, 가상 사설망) : 공중망 상에 사설망을 구축하여 마치 사설 구내망 또는 전용망을 같이 이용하는 통신망이다. 큰 규모 집단에서 여러 곳에 퍼져있는 컴퓨터를 잇는 사설 네트워크를 구축할 때, 일일이 전선으로 연결하기에는 돈이 많이 들고 물리적으로 보안에 취약해지므로 인터넷 네트워크와 암호화 기술을 이용하여 통신 시스템을 구축하는 것을 말한다.

 

u-Heathcare(u-헬스케어) : 각종 정보 기술을 활용하여 언제 어디서나 건강 관리를 받을 수 있는 원격 의료 서비스이다.

 

Bluetooth(블루투스) : IEEE 802.15.1에서 표준화된 무선 통신 기기 간에 가까운 거리에서 낮은 전력으로 무선 통신을 하기 위한 표준이다. 10m 이내의 거리에서 3Mbps 정도의 데이터를 전송하는 기술로 복잡한 설정 없이도 호환 기기끼리 곧바로 인식해 움직인다.

 

Beacon(비콘) : 반경 50 ~ 70m 범위 안에 있는 사용자의 위치를 찾아 메시지를 전송하고, 모바일 결제 등을 가능하게 스마트폰 근거리 통신 기술이다.

 

GIGA-Fi(기가파이) : 60Hz 대역을 이용하여 데이터를 기가급으로 전송할 수 있는 기술로, 전 세계적으로 비허가 대역으로 지정된 57 ~ 64GHz 범위의 주파수를 이용하여 넓은 대역폭의 높은 데이터 전송률(3Gbps)을 얻을 수 있다.

 

VBR(Variable Bit Rate, 가변 비율) : 많은 데이터를 요구하는 곳에서 더 많은 비트를 할당하고, 상대적으로 데이터 요구가 적은 곳에는 비트를 적게 할당하는 방식을 활용하여 인코딩할 때 상황에 따라 압축률을 다르게 하는 압축 방법이다.

 

Network Slicing(네트워크 슬라이싱) : 네트워크에서 하나의 물리적인 코어 네트워크 인프라를 독립된 다수의 가상 네트워크로 분리하여 각각의 네트워크를 통해 다양한 고객 맞춤형 서비스를 제공하는 것을 목적으로 하는 네트워크 기술이다.

 

 

저작권 및 웹 관련 용어

 

DRM(Digital Rights Management) : 디지털 미디어의 불법 또는 비인가된 사용을 제한하기 위하여 저작권 소유자나 판권 소유자가 이용하는 정보 보호 기술의 일종인 접근 제어 기술이다. 디지털 미디어의 생명 주기 동안 발생하는 사용 권한 관리, 과금, 유통 단계를 관리하는 기술로 볼 수 있다. 

 

CCL(Creative Commons License) : 저작권자가 자신의 저작문에 대한 이용 방법과 조건을 표기하는 일종의 표준약관이자 저작물 이용 허락 표시를 말한다.

 

Copyright : 학술, 문학 및 기타 예술의 범위에 속하는 창작물(저작물)에 대한 창작자의 권리를 말한다. DRM은 데이터의 안전한 배포를 활성화하거나 불법 배포를 방지하여 인터넷이나 기타 디지털 매체를 통해 유통되는 데이터의 Copyright를 보호하기 위한 시스템이다.

 

Copyleft : Copyright를 기반으로 한 정보의 공유를 주장하지만 Copyright가 독점적인 의미인 것과는 반대로 Copyleft는 지식이나 정보가 독점되어서는 안 되며 누구나 지식이나 정보에 접근할 수 있도록 열려 있어야 한다고 주장하는 개념이다.

 

RSS : 웹 사이트 간의 자료 교환 및 배급을 위한 확장성 링크 언어(XML) 기반의 규격이다. 각 사이트에서 제공하는 RSS 주소를 RSS 리더에 등록만 해 두면 직접 방문하지 않아도 자동으로 자료가 교환되어 편지함의 이메일을 열어 보듯이 쉽게 변경된 내용을 읽을 수 있는데 자주 업데이트 되는 사이트에서 많이 사용된다.

 

PIN 관련

 

G-PIN : 정부에서 발급하는 인터넷상 개인식별번호를 말한다.

 

i-PIN : 정부가 아닌 민간 기업에서 발급하는 인터넷상 개인식별번호를 말한다.

 

 

차량, 비행기 및 교통 관련

 

ACN(Automatic Crash Notification, 자동 차량 충돌 알림) : 표준화된 데이터 메시지를 통해 차량 충돌에 관계된 정보를 가공하여 제공는 무선통신매체를 이용한 자동 시스템이다.

 

VMC(Vehicle Multihop Communication, 차량 멀티홉 통신) : 자동차에 정보 기술을 접목해 차량 충돌을 예방하는 기술을 말한다. 자동차와 노면 간 라디오 주파수 통신을 주고 받아 제한 속도를 넘으면 자동으로 차량 속도가 감속되는 것은 물론 차량 간 통신으로 충돌을 예방하는 기술이다.

 

FDR(Flight Data Recorder, 비행 기록 장치) : 비행기 사고 원인을 밝히기 위한 목적으로 비행할 때 있었던 주요 사항을 자동으로 기록하는 장치이다.

 

ITS(Intelligent Transportation System, 지능형 교통 시스템) : 교통 수단 및 교통 시설에 전자, 제어 및 통신 등 첨단 기술을 접목하여 교통 정보 및 서비스를 제공하고 이를 활용함으로써 교통 체계의 운영 및 관리를 자동화하여 교통의 효율성과 안전성을 향상시키는 교통 체계를 말한다.

 

 

사용자 관련

 

크리슈머 : 소비를 통해 욕구를  충족하는 수준을 넘어 자신의 개성을 표현하는 창조적인 소비자를 말한다.

 

PES(Personal Environment Service) : 사용자에게 최적화된 생활 환경을 제공하는 서비스이다. 사용자가 휴대 전화를 가지고 가정과 사무실, 자동차, 공공 장소를 이동하면 휴대 전화가 주변의 각종 생활 기기들을 자동으로 인식하고 제어하여 사용자 개인에게 최적화한 생활 환경을 제공한다.

 

DAISY(데이지) : 시각 장애인이나 독서 장애인을 위한 국제 디지털 문서 포맷이다.

 

VOD : 가입자가 원하는 시간에 원하는 드라마, 영화 등의 방송 프로그램을 즉시 선택하여 시청할 수 있는 양방향 서비스이다.

 

 

비즈니스 관련

 

 

EDI : 기업 간 전자 상거래 서식 또는 공공 서식을 서로 합의된 표준에 따라 표준화된 메시지 형태로 변환하여 거래 당사자끼리 통신망을 통해 교환하는 방식을 말한다. 일반적으로 이 시스템의 기본 기능은 기업의 수주, 발주, 수송, 결제 등 상업 거래 자료를 변환, 통신, 표준 관리, 그리고 거래처 관리 등이다.

 

EDMS(Electronic Document Management System) : 

 

BPR : 기업 경영 내용이나 경영 과정 전반을 분석하여 경영 목표 달성에 가장 적합하도록 재설계하고, 그 설계에 따라 기업 형태, 사업 내용, 조직, 사업 분야 등을 재구성하는 것을 말한다. 1990년대 초 미국에서 제창한 개념인데 일반적으로 데이터를 조직화하고 방향을 설정하기 위해, 컴퓨터나 정보 기술을 사용하는 것이 포함된다.

 

CRM(Customer Relationship Management) : 기업이 고객을 관리하기 위해 필요한 방법론이나 소프트웨어 등을 가리키는 말로, 현재의 고객과 잠재 고객에 대한 정보 자료를 정리하고 분석하여 마케팅 정보로 변환함으로써 고객의 구매 관련 행동을 지수화하고, 이를 바탕으로 마케팅 프로그램을 개발, 실현, 수정하는 고객 중심의 경영 기법이다.

 

m-커머스 : 스마트폰, 개인정보 단말기, 기타 이동 전화 등을 이용한 은행 업무, 지불 업무, 티켓 업무와 같은 서비스를 하는 비즈니스 모델이다.

 

Escrow : 상거래 시에 판매자와 구매자 사이에 신뢰할 수 있는 중립적인 제3자가 중개하여 금전 또는 물품을 거래하는 것을 말한다.

 

 

네트워크 보안 및 공격 관련

 

PET : 개인정보 위험관리 기술을 가리키는 용어로, 개인정보 침해위험을 관리하기 위한 핵심 기술로 암호화, 익명화 등 개인정보를 보호하는 기술에서 사용자가 직접 개인정보를 통제하기 위한 기술까지 다양한 사용자 프라이버시 보호기술을 통칭한다.

 

허니팟 : 해커를 잡기 위한 목적으로 구축된 시스템을 가리키는 용어이다. 해커들이 관심을 가질만한 가짜 정보를 보관하는 서버와 추적 탐지 기능을 가진 소프트웨어로 구성된다. 이 시스템에 해커가 침입하면 해커가 서버에서 행한 모든 동작이 기록되고 분석되며, 해커가 서버에 접속한 경로를 추적하여 해커의 신분이나 위치를 찾아낸다.

 

스니핑(Sniffing) : 사전적인 의미로 '코를 킁킁거리다', '냄새를 맡다' 등의 뜻이 있다. 사전적인 의미와 같이 해킹 기법으로써 네트워크 상에서 자신이 아닌 다른 상대방의 패킷 교환을 엿듣는 것을 의미한다.

 

스푸핑(Spoofing) : 승인받은 사용자인 것처럼 시스템에 접근하여 네트워크 상에서 허가된 주소로 가장하여 접근 제어를 우회하는 공격 행위를 말한다. 이는 의도적인 행위를 위해 타인의 신분으로 위장하는 것으로 매체 접근 제어 주소, 인터넷 프로토콜 주소, 포트, 전자우편 주소 등을 이용한다.

 

스머핑(Smurfing) : 고성능 컴퓨터를 이용하여 초당 엄청난 양의 접속 신호를 한 사이트에 집중적으로 보냄으로써 상대 컴퓨터의 서버를 접속 불능 상태로 만들어 버리는 해킹 수법이다.

 

파밍(Pharming) : 합법적으로 소유하고 있던 사용자의 도메인을 탈취하거나 DNS(Domain Name Service) 또는 프록시 서버의 주소를 변조함으로써 사용자들로 하여금 진짜 사이트로 오인하여 접속하도록 유도한 뒤에 개인정보를 훔치는 새로운 컴퓨터 범죄 수법이다.

 

DoS(Denial of Service attack, 서비스 거부 공격)  : 시스템을 악의적으로 공격해 해당 시스템의 자원을 고갈시켜 원래 의도된 용도로 사용하지 못하게 하는 공격이다.

 

DDoS(Distributed DoS) : DoS의 또 다른 형태로 여러 대의 공격자를 분산 배치하여 동시에 동작하게 함으로써 특정 사이트를 공격하는 기법이다.

→ 기출 : 여러 대의 장비를 이용하여 대량의 데이터를 한 곳의 서버에 집중적으로 전송함으로써, 특정 서버의 정상적인 기능을 방해하는 것을 말한다.

 

스위치 재밍 공격 : 위조된 매체 접근 제어(MAC) 주소를 지속적으로 네트워크로 흘려 보내 스위치 저장 기능을 혼란시켜 더미 허브(Dummy Hub)처럼 작동하도록 하는 공격이다. 스위치를 직접 공격하여 MAC 테이블을 위한 캐시 공간에 버퍼 오버플로 공격을 실시하는 것과 같다.

 

SQL 주입 공격 : 웹 클라이언트의 반환 메시지를 이용하여 불법 인증 및 정보를 유출하는 공격을 말한다. 웹 응용 프로그램에 강제로 SQL 구문을 삽입하여 내부 데이터베이스 서버의 데이터를 유출 및 변조하고 관리자 인증을 우회할 수도 있다.

 

무작위 대입 공격 : 조합 가능한 모든 경우의 수를 다 대입해보는 것이다. 최적화나 효율과는 거리가 멀고, 단순한 방법으로 보이기도 하지만 정확도 100%를 자랑한다. 이론적으로 모든 가능한 수를 점검하여 보니 실수가 없다.

 

 

반응형
반응형

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

 

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

 

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

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

developer-rooney.tistory.com

 

알고리즘 - 자바

 

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

 

<코드>

public class Test {
    public static void main(String[] args) {
        int a[] = new int[8];
        int d = 11, n = 0;
        
        do {
            a[n++] = d % 2;
            d /= 2;
        } while ( d > 0 );
        
        for (n = 7; n >=0; n--) {
            System.out.printf("%d", a[n]);
        }
    }
}

 

정답

 

0 0 0 0 1 0 1 1

 

해설

 

이 문제는 8개의 값이 들어갈 수 있는 정수 배열 a에 do ~ while문을 통해 값을 넣어주고 for문으로 입력된 값을 역순으로 출력하는 문제입니다.

 

정수 d = 11, n = 0 으로 초기화되어 있는데 do ~ while문에서 a[n++]에 d를 2로 남았을 때 나머지 값을 입력해 주고, d가 0보다 클 때까지만 2씩 나누며 반복합니다.

 

우선, 몇 번 반복되는지 알기 위해 조건 d> 0 에 해당되는 조건을 확인합니다. d는 정수로 선언되어 있으므로 나눴을 때 소수점 뒷자리는 버리고 정수 부분만 저장하면 되는데 d의 첫 값 11과, 11을 2로 나눴을 때 나오는 값을 순차적으로 보면 11, 5, 2, 1이 나옵니다.

 

즉, 4번 반복이 이뤄지고 정수 배열 a의 a[0], a[1], a[2], a[3]에만 값이 들어갑니다.

 

이제 배열 a의 세 번째 인덱스까지 들어갈 값을 살펴봅시다.

 

a[n++]는, n의 초기값이 0이므로 첫 회전 시 a[0]이 되고 1씩 증가하며 반복합니다. 이 순서대로 a[3]까지 d % 2 값을 넣으면

 

a[0] = 11 % 2 → 1 저장;

 

a[1] = 5 % 2 → 1 저장;

 

a[2] = 2 % 2 → 0 저장;

 

a[3] = 1 %2 → 1 저장;

 

위처럼 저장됩니다.

 

배열은 총 8칸이므로 a[3] 이후의 나머지 인덱스에는 자바의 정수 배열 특성상 0이 이미 저장되어 있어 아래와 같습니다. 

 

a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7]
1 1 0 1 0 0 0 0

 

출력 부분에서는 n이 7에서 시작하여 0과 같거나 클 때까지 1씩 감소하며 반복하므로 a배열의 값을 역순으로 출력하면 됩니다.

 

알고리즘 - C언어

 

다음 C언어의 <코드>와 <출력>을 보고 프로그램을 분석하여 괄호 (1) ~ (3)에 가장 적절한 답을 적으시오. (9점)

 

<코드>

#include <stdio.h>
#define s 6

void bubble_sort(int list[]) {

    int j, k, p, tmp;
    
    for (j = 1; j < s; j++) {
        for (k = 0; k < s - j; k++) {
            if ( (  1  ) > list[k + 1]) {
                tmp = list[k];
                list[k] = list[k + 1];
                list[k + 1] = tmp;
            }
            for (p = 0; p < s; p++) {
                printf("%d", list[p]);
            }
            printf("\n");
        }
    
    }

}

main() {

    int list[s] = { 9, 4, 3, 6, 8, 1 };
    int i;
    
    for (i = 0; i < s; i++)
        printf("%d", (  2  ) );
    printf("\n");
    
    (  3  )(list);
}

<출력>

* 버블 정렬 과정에 대한 출력이므로 일부 생략하였습니다.

 

943681

493681

439681

436981

436891

 

 (생략)

 

134689

 

정답

 

(1) list[k]

(2) list[i]

(3) bubble_sort

 

해설

 

함수 이름이 bubble_sort이고 출력 부분에서 오름차순 정렬되어 가는 과정을 보면 버블 정렬인 것을 알 수 있습니다. 버블 정렬은 오름차순일 때, 첫 번째 인덱스를 첫 기준으로 삼아 기준이 되는 수와 바로 뒤에 있는 수를 비교하여 기준이 되는 수가 뒤에 있는 수보다 작을 경우 교환을 하며 마지막 인덱스까지 정렬을 진행합니다.

 

이는 bubble_sort 함수의 이중 for문 속 if문을 통해 알 수 있는데 변수 tmp를 통해 list[k]와 list[k + 1] 간의 교환이 이뤄지므로 (1)에 들어갈 답은 list[k]입니다.

 

(2)번 답은 제일 처음 실행되는 기존 배열에 들어간 값을 순서대로 출력하는 부분이므로 list[i]가 들어가야 되고, (3)에는 위에서 정의한 함수 bubble_sort를 이용한 정렬이 필요한 부분입니다.

 

 

데이터베이스

 

다음 <학생> 테이블과 <성적> 테이블을 참고하여 각 질문에 대한 SQL문을 완성하시오. (10점)

 

<학생>

학번 이름 나이
1655000 김민서 25
1855011 박종현 23
1900021 이진성 22

<성적>

학번 공통 교양 평균
1655000 94 90 92
1855011 88 95 91
1900021 65 80 77

 

(1) <학생> 테이블에서 학번이 "19"로 시작하고 나이가 22인 튜플을 검색하는 SQL을 작성하시오.

 

(2) <성적> 테이블에서 학번과 평균을 검색하되, 평균을 기준으로 오름차순 정렬하는 SQL문을 작성하시오.

 

(3) <학생> 테이블의 학생 중에서 성적 자료가 없는 튜플을 검색하는 SQL문을 작성하시오.

 

 

정답

 

(1) SELECT * FROM 학생 WHERE 학번 LIKE '19%' AND 나이 = 22;

 

(2) SELECT 학번, 평균 FROM 성적 ORDER BY 평균 ASC;

 

(3) SELECT * FROM 학생 WHERE 학번 NOT IN(SELECT 학번 FROM 성적);

반응형
반응형

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

 

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

 

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

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

developer-rooney.tistory.com

 

알고리즘 - 자바

 

다음 Java 언어의 <코드>와 <입력>을 보고 프로그램을 분석하여 그 실행 결과를 적으시오.

 

<코드>

import java.util.Scanner;

public class Test {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n, i, sum = 0;
        n = scan.nextInt();
        
        for (i = 1; i <= n; i++) {
            sum += i;
        }
        
        System.out.printf("%d", sum);
        scan.close();
    }
    
}

 

<입력>

 

5

 

정답

 

15

 

해설

 

1에서 5까지의 합을 구하는 문제입니다. Scanner를 통해 정수 n을 입력받고, for문을 통해 i를 0에서 입력받은 n까지 반복시켜 1씩 증가하는 i의 값을 sum에 순서대로 더한 뒤 마지막에 sum을 출력합니다.

 

for문에서 i는 1, 2, 3, 4, 5 순으로 값을 가지고 sum에는 1, 3, 6, 10, 15가 순서대로 저장되어 최종 값은 15가 됩니다.

 

 

알고리즘 - C언어

 

다음 C 언어의 <코드>를 실행했을 때 6을 입력한 결과 <출력>으로 나타낸 것이다. 프로그램을 분석하여 괄호 (      )에 가장 적합한 코드를 적으시오.

 

<코드>

#include <stdio.h>

main() {
    
    int n, i = 1;
    scanf("%d", &n);
    while(i < 10) {
        printf("%d X %d = %d\n", n, i (      ));
        i++
    }

}

 

<출력>

 

6 X 1 = 6

6 X 2 = 12

6 X 3 = 18

6 X 4 = 24

6 X 5 = 30

6 X 6 = 36

6 X 7 = 42

6 X 8 = 48

6 X 9 = 54

 

정답

 

n * i

 

해설

 

이 문제는 구구단 중 6단을 출력하는 코드에 관한 문제입니다. main 함수에서 첫 줄에 int n, i = 1 로 선언되어 있는데 n에는 문제에서 6이 입력되었다고 지정되어 있습니다. 따라서 while(i < 10)과 while문 마지막 줄 i++에 따라 i는 1 ~ 9까지 증가하게 되는데 <출력> 부분처럼 6단이 출력되려면 n과 i를 곱한 값이 n * i 가 들어가야 합니다.

 

 

데이터베이스

 

SQL과 관련한 다음 설명에서 괄호 (1) ~ (4)에 들어갈 가장 적합한 답을 적으시오.(16점)

 

<지문>

 

정규화는 테이블의 속성들이 상호 종속적인 관계를 갖는 특성을 이용하여 테이블을 무손실 분해하는 과정으로, 정규화의 목적은 가능한 한 중복을 제거하여 삽입, 삭제, 갱신 이상의 발생 가능성을 줄이는 것이다. 다음의 테이블은 기존의 테이블에서 부분 함수적 종속을 제거하여 완전 함수적 종속을 만족하는 (1)(이)다.

 

<학부생> 테이블

학부 학과번호 입학생수 담당관
정치대학 100 200 김지성
공과대학 200 250 이지연
인문대학 300 300 김해인
공과대학 400 170 박지민

 

아래는 정규화 과정을 거친 <학부생> 테이블에서 담당관의 이름이 "이"로 시작하는 튜플의 학과번호를 999로 갱신하는 SQL문이다.

 

UPDATE 학부생 (   2   ) (   3   ) = 999 WHERE 담당관 (   4   ) '이%';

 

UPDATE문은 테이블에 있는 튜플의 내용을 갱신할 때 사용하는 명령문으로, DML에 해당한다. 다른 DML로는 INSERT, DELETE가 있으며, 각각 새로운 튜플을 삽입하거나 삭제할 때 사용한다.

 

정답

 

(1) 제2정규화

(2) SET

(3) 학과번호

(4) LIKE

 

해설

 

(1)

 

정규화의 순서는 다음과 같습니다.

 

비정규 릴레이션

→ 도메인 원자값 (제1정규화)

→ 부분 함수 종속 제거 (제2정규화)

→ 이행 함수 종속 제거 (제3정규화)

→ 결정자이면서 후보키가 아닌 것 제거(BCNF)

→ 다치 종속 제거 (제4정규화)

→ 조인 속성 이용 (제5정규화)

 

(2) (3) (4)

 

UPDATE문은 다음과 같이 작성합니다.

 

UPDATE 테이블명 SET 속성 = 값 WHERE 조건;

 

문제처럼 학부생 테이블의 학과번호를 999로 갱신하려면 UPDATE 학부생 SET 학과번호 = 999 WHERE ~생략; 이런 식으로 작성하면 되는데, 이 문제에서는 담당관 이름이 '이'로 시작하는 튜플만 변경하라는 조건이 있으니 WHERE절에 LIKE를 사용하여 UPDATE 학부생 SET 학과번호 = 999 WHERE 담당관 LIKE '이%';로 작성하면 됩니다.

 

LIKE 사용법

 

이름이 '이'로 시작하는 경우 LIKE '이%';

이름이 '이'로 끝나는 경우 LIKE '%이';

이름에 '이'가 포함된 경우 LIKE '%이%';

반응형

+ Recent posts