[컴퓨터활용능력 1급 필기] 15년 2회차 시험지 PDF 다운로드
15년 2회차
집적회로(IC)의 사용은 3세대 컴퓨터부터 나타난 대표적 특징이며, 개인용 컴퓨터의 보급과 전문가 시스템 같은 인공지능 응용은 그 이후 세대에서 두드러진 특징이다.
반면 일괄처리(Batch Processing) 시스템은 프로그램과 데이터를 모아서 한꺼번에 처리하던 방식으로, 진공관을 사용하던 1세대 컴퓨터의 특징에 해당한다.
따라서 3세대 이후의 특징으로 보기 어려운 것은 일괄처리 시스템이다.
Windows 탐색기의 [보기]-[내용]을 선택하면 각 항목 옆에 이름, 수정한 날짜, 유형, 크기 등 파일이나 폴더에 관한 정보가 표시된다.
디스크 여유 공간은 개별 파일이나 폴더의 속성이 아니라 드라이브 전체의 정보이므로 이 보기 방식으로 표시되지 않는다.
따라서 옳지 않은 설명은 디스크 여유 공간이다.
[Windows 작업 관리자]에서는 실행 중인 프로그램이나 프로세스를 강제 종료하고, CPU·메모리 사용 현황과 네트워크 이용률을 확인할 수 있다.
그러나 사용자 계정의 추가와 삭제는 작업 관리자의 기능이 아니라 [제어판]의 [사용자 계정] 등을 통해 수행하는 작업이다.
DHTML, SGML, WML은 모두 웹 문서를 작성하거나 표현하는 데 사용되는 마크업 계열의 언어이다.
COBOL은 사무 처리용으로 개발된 절차형 프로그래밍 언어로, 웹 프로그래밍과는 관련이 없다.
게이트웨이(Gateway)는 서로 다른 프로토콜이나 구조를 가진 네트워크를 상호 연결하여, 현재 위치한 네트워크에서 다른 네트워크로 통신할 수 있게 해주는 장치이다.
신호를 증폭해 먼 거리로 전달하는 것은 리피터, 네트워크 계층에서 경로를 설정하는 것은 라우터, 문자로 된 도메인 이름을 IP 주소로 변환하는 것은 DNS의 역할이므로 게이트웨이의 설명과는 다르다.
윈도우키+L은 컴퓨터 잠금 또는 사용자 전환, 윈도우키+R은 실행 대화상자 열기, 윈도우키+Pause는 시스템 속성 창 표시로 모두 옳은 설명이다.
윈도우키+E는 장치 및 프린터 추가가 아니라 Windows 탐색기(파일 탐색기)를 여는 바로 가기 키이다.
비밀키(대칭키) 암호화는 암호화와 복호화에 동일한 키를 사용하며 DES가 대표적이고, 공개키(비대칭키) 암호화는 RSA가 대표적이라는 설명은 모두 옳다.
공개키 암호화 방식에서는 반대로 암호화에 사용하는 키를 공개하고 복호화에 사용하는 키를 비밀로 보관하므로, 제시된 설명은 암호화 키와 복호화 키의 공개·비공개 관계가 뒤바뀌어 있다.
애드웨어, 번들, 프리웨어에 대한 설명은 각각 광고 기반 무료 소프트웨어, 제품 구매 시 포함되는 소프트웨어, 무료로 사용·전달 가능한 소프트웨어로 옳다.
셰어웨어는 정식 버전 출시 전 평가를 위한 소프트웨어가 아니라, 기능이나 사용 기간을 제한하여 무료로 배포한 뒤 계속 사용하려면 정식 등록비를 지불하도록 하는 방식의 소프트웨어이다. 정식 버전 출시 전 평가용으로 배포하는 것은 베타 버전에 대한 설명이다.
AVI, DVI, ASF는 모두 동영상을 저장하는 파일 형식이다.
DXF는 CAD(컴퓨터 지원 설계) 프로그램 간에 도면 데이터를 교환하기 위한 파일 형식으로, 동영상과는 관련이 없다.
슈퍼바이저가 제어 프로그램의 핵심이라는 점, BIOS를 통해 주변장치를 관리하는 점, 응용 프로그램 사용 편의와 하드웨어 성능 최적화를 지원한다는 점은 모두 옳은 설명이다.
운영체제는 컴퓨터가 동작하는 동안 주기억장치(RAM)에 상주하면서 자원 관리 서비스를 제공하는 것이지, 하드디스크에 위치한 채로 동작하는 것이 아니다.
정보 보안의 기본 요건은 인가된 사용자만 접근을 허용하는 기밀성, 전송 중 변경되지 않는 무결성, 사용자를 식별·인증하는 인증성 등을 포함한다.
소프트웨어의 버전과 저작권 인증은 보안의 기본 충족 요건과는 관계가 없는 항목이다.
펌웨어는 하드웨어의 동작을 지시하는 소프트웨어이면서도 하드웨어의 일부로 취급되며, 하드웨어 교체 없이 업그레이드만으로 성능을 개선할 수 있고 기계어 처리, 데이터 전송, 부동 소수점 연산, 채널 제어 등의 처리 루틴을 담고 있다는 설명은 모두 옳다.
펌웨어는 전원이 꺼져도 내용이 유지되어야 하므로 ROM 계열의 기억장치에 저장되어 관리되며, 휘발성인 RAM에 저장된다는 설명은 옳지 않다.
JPG는 사진과 같은 정지 영상을 위한 국제 표준 압축 방식이며, 24비트 컬러로 트루컬러를 표현하고 사용자가 압축률을 지정할 수 있다는 설명은 모두 옳다.
JPG는 픽셀 단위로 이미지를 표현하는 비트맵(래스터) 방식이므로 이미지를 확대하면 테두리에 계단 현상이 나타나며, 매끄럽게 표현되는 것은 벡터 방식 이미지의 특징이다.
어떤 장치가 처리 중이던 다른 작업을 잠시 멈추게 하고 자신의 상태 변화(작업 완료, 오류 발생 등)를 CPU에 알리는 것을 인터럽트라고 한다.
DMA는 CPU 개입 없이 입출력장치와 메모리가 직접 데이터를 주고받는 방식이고, 채널은 입출력 전용 처리장치, 클라이언트/서버는 서비스 요청과 제공으로 역할을 나눈 처리 구조이므로 문제의 설명과는 다르다.
특정 도메인에 대응하는 IP 주소를 DNS 서버에 직접 질의하여 확인하는 서비스는 Nslookup이다.
Gopher는 메뉴 방식의 정보 검색 서비스, Archie는 익명 FTP 파일 검색 서비스, IRC는 실시간 채팅 서비스로 도메인의 IP 주소 조회와는 관련이 없다.
RAM이나 ODD는 접근 속도 수치가 작을수록 빠르므로 작은 것이 좋고, 하드디스크 교체 시 연결 방식의 종류와 버전을 확인하며, CPU는 클럭 속도가 높은 것을 선택하는 것은 모두 옳은 업그레이드 고려 사항이다.
RAM을 추가할 때는 기존 RAM과 동일한 규격(핀 수, 속도 등)의 제품을 사용해야 호환되므로, 기존 것보다 핀 수가 더 많은 RAM을 추가한다는 것은 옳지 않은 방법이다.
시스템 글꼴이 C:\Windows\Fonts 폴더에 파일 형태로 저장된다는 점, TrueType과 OpenType 방식을 제공하며 프린터와 프로그램에서 함께 작동한다는 점, 기울임꼴이나 굵게와 같은 글꼴 스타일을 가진다는 점은 모두 옳은 설명이다.
실제 글꼴 파일의 확장자는 .ttf, .otf 등이며, .rtf(서식 있는 문서)나 .inf(설치 정보 파일)는 글꼴 파일의 확장자가 아니다.
IPv6은 128비트 주소를 사용하여 IPv4의 주소 고갈 문제를 해결하고, 인증성·기밀성·무결성 등 보안 기능을 포함하며 IPv4와 호환되어 실시간 흐름 제어가 가능하다는 설명은 모두 옳다.
IPv6은 헤더 구조 개선 등을 통해 IPv4보다 더 빠른 자료 전송 속도를 지원하도록 설계되었으므로, 전송 속도가 더 느리다는 설명은 옳지 않다.
유비쿼터스 센서 네트워크(USN)는 각종 센서로 수집한 정보를 네트워크로 연결해 활용하는 기술로, 자동차와 통신·교통 정보를 결합한 텔레매틱스가 그 활용 분야에 해당한다.
테더링, 블루투스는 근거리 무선 통신 기술이고 고퍼는 초기 인터넷 정보 검색 서비스로, USN의 활용 분야로 보기 어렵다.
[프로그램 및 기능]에서는 설치된 응용 프로그램의 변경·제거, Windows 기능의 사용 여부 선택, 설치된 업데이트 확인 및 제거·변경이 가능하다는 설명은 모두 옳다.
온라인으로 추가 테마 보기는 [프로그램 및 기능]이 아니라 [개인 설정]에서 제공하는 기능이므로 옳지 않은 설명이다.

그림은 [검토] 탭의 변경 내용 그룹으로, 시트 보호, 통합 문서 보호, 통합 문서 공유, 통합 문서 보호와 공유, 범위 편집 허용, 변경 내용 추적 명령이 모여 있는 리본 영역이다.
통합 문서 보호는 보호 대상이 ‘구조’와 ‘창’이다. 즉 시트의 삽입·삭제·이동·복사·이름 바꾸기·숨기기 같은 시트 구성 변경과 통합 문서 창의 크기·위치 변경을 막는 기능이다. 워크시트 안의 차트·도형 등 그래픽 개체를 변경하지 못하게 하는 것은 [시트 보호]의 ‘개체 편집’ 항목이므로, 통합 문서 보호로 개체를 변경할 수 없게 된다는 설명은 옳지 않다.
시트 보호를 설정하면 기본적으로 ‘잠긴 셀 선택’과 ‘잠기지 않은 셀 선택’만 허용되어 사실상 셀 선택만 가능해진다. 시트 보호 상태에서도 특정 셀만 수정할 수 있게 하려면 그 셀의 [셀 서식] − [보호]에서 잠금을 해제한 뒤 시트를 보호하면 되고, 범위 편집 허용을 이용하면 보호된 시트에서 지정한 범위를 특정 사용자만 편집하도록 권한을 줄 수 있다.
필터를 적용하면 조건에 맞는 행만 표시되고 나머지는 숨겨지며, 필터링된 상태에서도 다시 정렬하거나 이동하지 않고 복사·찾기·편집·인쇄가 가능하고, 상위 10 자동 필터는 숫자 필드에서만 사용할 수 있다는 설명은 옳다.
한 열에 서로 다른 형식의 데이터가 섞여 있을 때 자동 필터는 수가 더 많은 데이터 형식을 기준으로 필터 명령을 표시한다. 따라서 숫자 셀이 5개이고 텍스트 셀이 3개라면 '숫자 필터'로 표시되므로, 셀 수가 적은 텍스트 필터로 표시된다는 설명은 옳지 않다.
날짜 데이터가 연·월·일 계층으로 그룹화되어 상위 수준 선택 시 하위 날짜도 함께 선택된다는 설명은 옳다.
[셀 서식]-[맞춤] 탭의 '텍스트 방향'에서는 텍스트 방향대로, 왼쪽에서 오른쪽, 오른쪽에서 왼쪽 중 하나를 선택할 수 있다.
텍스트 반대방향으로라는 항목은 존재하지 않으므로 설정할 수 없는 항목에 해당한다.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | [표1] 할인 금액 | [표2] 할인 금액표 | |||
| 2 | 정가 | ₩ 10,000 | 정가 | ₩ 9,500 | |
| 3 | 할인율 | 5% | ₩ 10,000 | ||
| 4 | 할인가 | ₩ 9,500 | ₩ 15,000 | ||
| 5 | ₩ 24,000 | ||||
| 6 | ₩ 30,000 | ||||
시트의 [표1]에는 정가 ₩10,000(B2), 할인율 5%(B3), 그리고 이 둘로 계산한 할인가 ₩9,500(B4)이 들어 있다. [표2]는 D3:D6에 정가 ₩10,000·₩15,000·₩24,000·₩30,000이 세로로 나열되어 있고, 표 영역 첫 행의 [E2]에는 [표1]의 할인가 수식 결과인 ₩9,500이 놓여 있다.
이처럼 수식은 그대로 둔 채 그 안의 입력값 하나만 여러 값으로 바꿔 넣어 결과가 어떻게 달라지는지 한 번에 표로 보여 주는 기능이 데이터 표다. [D2:E6]를 선택한 뒤 [데이터]-[가상 분석]-[데이터 표]를 실행하고, 정가가 세로(열 방향)로 나열되어 있으므로 열 입력 셀에 정가가 들어 있는 [B2]를 지정하면 [E3:E6]에 각 정가별 할인가가 한꺼번에 채워진다.
나머지 도구는 목적이 다르다. 통합은 여러 시트나 범위에 흩어진 데이터를 합계·평균 등으로 요약하고, 부분합은 정렬된 목록을 그룹별로 소계 내며, 시나리오 관리자는 여러 변수 조합을 시나리오로 저장해 요약 보고서로 비교한다. 하나의 입력값을 연속으로 대입해 결과 계열을 만들어 내는 용도에는 맞지 않는다.
Access 데이터에 연결된 통합 문서를 열 때 보안 센터 표시줄이나 신뢰할 수 있는 위치 설정을 통해 데이터 연결을 사용하도록 해야 하고, Microsoft Query로 외부 Access 데이터와 동기화하거나 특정 테이블만 선택해 가져올 수 있다는 설명은 모두 옳다.
[데이터] 탭 [연결] 그룹의 [속성]은 이미 설정된 연결의 새로 고침 방법이나 서식 등 속성을 지정하는 기능이며, 기존 Access 파일과의 연결 자체를 추가하거나 제거하는 기능은 아니다.
전체 출력물의 페이지 번호를 일련번호로 이어지게 하려면 [인쇄] 대화상자에서 인쇄 대상을 '전체 통합 문서'로 지정하거나, 여러 시트를 그룹으로 묶어 인쇄하거나, 각 시트의 [페이지 설정]에서 시작 페이지 번호를 이어지도록 지정하면 된다.
[페이지 설정] 대화상자에는 '일련번호로 출력'이라는 항목 자체가 존재하지 않으므로, 이를 선택해 인쇄한다는 설명은 옳지 않다.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 성명 | 부서 | 1/4분기 | 2/4분기 |
| 2 | 김남이 | 영업1부 | 10 | 15 |
| 3 | 이지영 | 영업2부 | 20 | 25 |
| 4 | 하나미 | 영업1부 | 15 | 20 |
| 5 | 임진태 | 영업2부 | 10 | 10 |
| 6 | 현민대 | 영업2부 | 20 | 15 |
| 7 | 한민국 | 영업1부 | 15 | 20 |
DSUM은 =DSUM(데이터베이스, 필드, 조건범위) 형태로, 조건에 맞는 레코드만 골라 지정한 필드의 합계를 구하는 데이터베이스 함수다. 이 수식에서 데이터베이스는 제목 행을 포함한 [A1:D7], 필드는 4번째 열이므로 D열의 2/4분기, 조건 범위는 [B1:B2] 즉 부서가 '영업1부'라는 조건이다.
시트에서 부서가 영업1부인 사람은 김남이·하나미·한민국 세 명이고, 이들의 2/4분기 값은 각각 15, 20, 20이다. 따라서 결과는 15+20+20 = 55가 된다.
필드 인수를 3으로 잘못 보면 1/4분기 값 10+15+15=40이 나오므로 열 번호를 정확히 세어야 한다. 필드는 열 번호 대신 큰따옴표로 묶은 필드명("2/4분기")이나 해당 제목 셀 주소로도 지정할 수 있으며, 조건 범위는 반드시 제목 행과 조건 값을 함께 포함해야 한다.
[텍스트 마법사]에서 열 구분선(각 필드의 너비)을 지정하는 단계는 원본 데이터 형식을 '너비가 일정함'으로 선택했을 때만 나타난다. 따라서 앞 단계에서 '구분 기호로 분리됨'을 선택한 경우에는 열 구분선을 지정할 수 없다는 설명은 옳다. 또한 구분선은 원하는 위치를 마우스로 클릭해 넣고, 두 번 클릭하면 삭제된다는 설명도 옳다.
이미 만들어진 구분선은 마우스로 드래그하여 바로 위치를 옮길 수 있으므로, 옮기려면 삭제한 후 다시 넣어야 한다는 설명은 옳지 않다.
Sub loopTest()
Dim k As Integer
Do while k<3
[A1].offset(k,1)=10
k = k + 2
Loop
End Sub
프로시저는 Do While k < 3 반복문 안에서 [A1].offset(k, 1) = 10을 실행하고 k = k + 2로 k를 2씩 늘린다. Integer로 선언한 변수 k는 별도로 값을 주지 않았으므로 초기값이 0이다.
Offset(행, 열)은 기준 셀에서 아래로 '행'만큼, 오른쪽으로 '열'만큼 이동한 셀을 가리킨다. k가 0일 때 [A1].offset(0,1)은 [B1]이므로 이 셀에 10이 입력되고 k는 2가 된다. 2는 3보다 작으므로 한 번 더 반복해 [A1].offset(2,1) 즉 [B3]에 10이 입력되고 k는 4가 된다. 4는 3보다 작지 않아 반복이 끝난다.
결과적으로 값이 채워지는 셀은 [B1]과 [B3] 두 곳이다. 열 오프셋이 1이므로 A열이 아니라 B열이고, k가 1씩이 아니라 2씩 증가하므로 [B2]는 건너뛴다는 점이 핵심이다.
여러 시트를 그룹으로 설정하면 제목 표시줄에 [그룹]이 표시되고, 한 시트에서 입력·편집한 내용이 그룹 내 모든 시트에 함께 반영되며, 그룹 상태에서는 도형이나 차트 같은 그래픽 개체를 삽입할 수 없다는 설명은 옳다.
정렬이나 필터와 같이 하나의 범위를 기준으로 하는 기능은 그룹 상태에서 여러 시트에 동시에 적용할 수 없으므로, 이 설명은 옳지 않다.
| B | D | E | F | |
|---|---|---|---|---|
| 1 | 성명 | 지점 | 대출금액(천) | 기간(월) |
| 2 | 문정현 | 서울 | 7,500 | 36 |
| 3 | 조일순 | 경기 | 5,000 | 24 |
| 4 | 남태우 | 서울 | 10,000 | 60 |
| 5 | 송현주 | 충남 | 8,000 | 36 |
| 6 | 민병우 | 서울 | 5,000 | 24 |
| 7 | 정백칠 | 경기 | 10,000 | 60 |
| 8 | 김주석 | 경기 | 10,000 | 60 |
| 9 | 오창환 | 부산 | 15,000 | 24 |
| 10 | 장정 | 서울 | 7,000 | 24 |
| 11 | 원주연 | 서울 | 3,000 | 36 |
| 12 | 강소라 | 충남 | 5,000 | 24 |
| 13 | 김연 | 서울 | 5,000 | 12 |
| 14 | 정민수 | 경기 | 5,000 | 36 |
| H | I | |
|---|---|---|
| 1 | 지점 | 총대출금액(천) |
| 2 | 서울 | 37,500 |
| 3 | 경기 | 30,000 |
| 4 | 부산 | 15,000 |
| 5 | 충남 | 13,000 |
[H2:H5]에는 서울·경기·부산·충남이 있고 [I2:I5]에는 지점별 총대출금액 37,500 / 30,000 / 15,000 / 13,000(천원)이 구해져 있다. 실제로 지점이 '서울'인 행의 대출금액을 더하면 7,500+10,000+5,000+7,000+3,000+5,000 = 37,500으로 표시된 값과 정확히 일치한다.
조건에 맞는 행만 골라 합계를 내는 배열 수식은 {=SUM(IF(조건, 합할범위, 0))} 형태다. IF가 범위 전체에 대해 조건을 한꺼번에 판정해 참인 위치에는 해당 대출금액을, 거짓인 위치에는 0을 돌려주고, 그 배열을 SUM이 모두 더한다. 따라서 {=SUM(IF($D$2:$D$14=H2,$E$2:$E$14,0))}가 옳으며, 수식을 입력한 뒤 Ctrl+Shift+Enter로 확정해야 중괄호가 붙는다.
거짓일 때 0, 참일 때 1을 돌려주는 형태는 금액이 아니라 건수를 세는 수식이라 총대출금액이 나오지 않는다. 또 SUMIF는 =SUMIF(조건범위, 조건, 합계범위) 순서로 인수를 받으므로 범위 안에 등호를 넣어 조건을 쓴 형태는 문법 자체가 성립하지 않는다. 지점 목록을 절대 참조($D$2:$D$14)로, 비교 대상인 H2는 상대 참조로 둔 점도 아래로 채우기 위해 필요하다.
공유된 통합 문서에서는 조건부 서식, 차트, 시나리오 등을 새로 추가하거나 편집할 수 없고, 네트워크 위치로 복사해도 다른 통합 문서와의 연결은 그대로 유지되며, 공유 기능의 사용은 사용자가 쓰는 엑셀 버전의 영향을 받는다는 설명은 모두 옳다.
암호를 지정해 보호한 공유 통합 문서는 보호를 해제하는 과정에서 통합 문서의 공유 자체가 함께 해제된다. 따라서 보호를 해제하여도 공유 상태는 해제되지 않는다는 설명은 옳지 않다.
연 4.5%의 이자율로 매월 말 저축하는 적금이므로, 월 이자율은 4.5%/12, 납입 횟수는 2*12(개월)로 계산해야 하며 매달 지급하는 금액이므로 음수(-400000)로 입력한다.
납입 시점이 매월 말(기말)이므로 FV 함수의 마지막 인수(납입 시점)는 생략하거나 0으로 두면 되고, 별도로 1을 지정할 필요는 없다.
따라서 월 단위 이자율과 기간을 사용하고 납입 시점 인수를 생략한 수식이 만기 금액을 올바르게 계산한다.

왼쪽은 판매수량과 매출액을 하나의 값 축(0~3000)에 쌓아 올린 누적 세로 막대형 차트다. 오른쪽에서는 매출액만 막대로 남고 판매수량 계열이 표식이 있는 꺾은선형으로 바뀌면서 김미정 250, 강수진 430, 박정현 980이라는 데이터 레이블이 붙어 있다.
오른쪽 차트에서 막대가 그려진 값 축은 0~2500인데, 판매수량이 250인 김미정의 표식은 그 축의 500 눈금 부근에, 980인 박정현의 표식은 2000 눈금 위쪽에 찍혀 있다. 즉 판매수량은 왼쪽 축이 아니라 눈금 간격이 다른 보조 세로 (값) 축에 그려져 있는데, 정작 차트 오른쪽에는 그 축의 눈금 숫자가 하나도 보이지 않는다. 이는 보조 세로 (값) 축의 축 레이블을 '없음'으로 설정해 눈금 값 표시를 감췄기 때문이다.
보조 축으로 옮겨진 계열은 매출액이 아니라 판매수량이다(매출액은 여전히 왼쪽 기본 축에 막대로 그려져 있다). 가로 눈금선도 주 눈금 간격에 맞춰 그대로 표시되어 있을 뿐 그 사이를 더 촘촘히 나누는 보조 눈금선은 생기지 않았고, 눈금 값이 감춰진 보조 축의 주 눈금 간격이 500이라고 판단할 근거도 없다.
배열 수식에서 인수나 피연산자가 잘못되면 #VALUE! 오류가 발생하고, 배열 상수는 다른 행의 값을 세미콜론(;)으로, 다른 열의 값을 쉼표(,)로 구분하며, Ctrl+Shift+Enter를 누르면 중괄호({ }) 안에 배열 수식이 표시된다는 설명은 모두 옳다.
배열 상수에는 숫자, 논리값, 텍스트, 오류값만 사용할 수 있고 수식은 배열 상수로 사용할 수 없으므로, 수식도 사용할 수 있다는 설명은 옳지 않다.

워크시트 [A1:C8]에는 성명·컴활1급·컴활2급이라는 제목 행과 일곱 명(이상용·김진태·박수현·최진용·한영진·서경진·김수정)의 합격/불합격 결과가 들어 있다. 조건부 서식 대화상자에서는 규칙 유형으로 '고유 또는 중복 값만 서식 지정'을 고르고, 값 종류를 '중복'으로 지정했다. 즉 선택한 범위 안에서 두 번 이상 나타나는 값이 모두 서식 대상이 된다.
범위 24개 셀을 살펴보면, A열의 제목 '성명'과 일곱 명의 이름, 그리고 '컴활1급'·'컴활2급'은 모두 범위 안에서 한 번씩만 나오는 고유 값이라 제외된다. 남는 것은 [B2:C8]의 '합격'과 '불합격'인데, 합격이 7개, 불합격이 7개로 둘 다 중복 값이므로 이 14개 셀 전부에 서식이 적용된다.
이 문제의 핵심은 중복 판정이 열 단위가 아니라 선택한 범위 전체를 하나로 놓고 이루어진다는 점, 그리고 제목 행까지 범위에 포함되어 함께 판정된다는 점이다.
여러 통합 문서를 한 화면에 나란히 배치해 서로 비교하면서 작업할 수 있게 해주는 기능은 창 정렬이다.
창 나누기와 틀 고정은 하나의 통합 문서 안에서 화면을 나누거나 특정 행·열을 고정하는 기능이고, 페이지 나누기는 인쇄 범위를 구분하는 기능이므로 여러 통합 문서를 비교하는 목적과는 다르다.
틀 고정 형태는 화면 표시용일 뿐 인쇄에는 적용되지 않으며, 고정할 행의 아래쪽·열의 오른쪽에 셀 포인터를 놓고 틀 고정을 수행해야 왼쪽과 위쪽이 고정된다는 설명은 옳다.
틀 고정 구분선은 한 번 지정하면 마우스로 위치를 바로 옮길 수 없고, 지운 뒤 다시 설정해야 한다는 설명도 옳다.
'나중에 복구할 수 있도록 모든 창의 현재 레이아웃이 작업 영역으로 저장된다'는 것은 작업 영역 저장 기능에 대한 설명으로 틀 고정과는 관계가 없으므로 옳지 않다.
sum = 0
Do While no <= 10
sum = sum + no
no = no + 1
Loop
MsgBox sum
sum = 0
Do
sum = sum + no
no = no + 1
Loop While no <= 10
MsgBox sum
sum = 0
Do While no < 10
sum = sum + no
no = no + 1
Loop
MsgBox sum
For no = 1 To 10
sum = sum + no
Next
MsgBox sum
1부터 10까지의 합을 구하려면 반복문에서 1부터 10까지의 값을 모두 더해야 하며, For 문으로 1부터 10까지 순회하거나 Do While/Do…Loop While 구조에서 조건을 no <= 10으로 설정한 방식은 모두 올바르게 55를 구한다.
조건을 no < 10으로 설정한 방식은 no가 9일 때까지만 더해지고 10이 되는 순간 반복이 멈춰 0부터 9까지의 합인 45가 계산되므로, 1부터 10까지의 합을 구하는 모듈로는 옳지 않다.

표에는 1사분기~4사분기 행에 영업1팀(1,611 / 1,343 / 1,150 / 1,712)과 영업2팀(1,278 / 1,166 / 1,569 / 1,320)의 값이 들어 있고, 차트에는 이 두 팀이 각각 파란 마름모 표식과 빨간 사각 표식이 달린 선으로 그려져 있다.
차트 범례에 영업1팀·영업2팀이 표시되어 있으므로 데이터 계열은 두 팀이고, 분기는 가로축에 놓인 항목(범주)에 해당한다. 따라서 분기가 데이터 계열로 사용되고 있다는 설명은 옳지 않다.
나머지 설명은 그림과 맞는다. 제목 행과 제목 열을 포함한 표 전체가 원본 데이터로 쓰였고, 세로 (값) 축이 0이 아니라 500에서 시작해 2,000까지 표시되므로 축 서식에서 최소값을 500으로 지정한 것이며, 각 분기마다 마름모·사각 표식이 찍힌 선으로 그려졌으므로 차트 종류는 표식이 있는 꺾은선형이다.
보고서는 테이블이나 쿼리의 내용을 화면이나 프린터로 출력하기 위한 개체이며, 레코드 원본으로 테이블·쿼리·SQL 문을 사용할 수 있고 조건부 서식도 적용할 수 있다는 설명은 옳다.
보고서는 데이터를 보기 전용으로 출력하는 개체이므로, 보고서의 컨트롤을 통해 원본 테이블에 데이터를 입력하거나 수정하는 것은 불가능하다.
ALTER TABLE 고객
DROP 취미 CASCADE;
제시된 문은 ALTER TABLE 고객 DROP 취미 CASCADE; 이다. ALTER TABLE은 이미 만들어진 테이블의 구조(스키마)를 바꾸는 데이터 정의문이고, DROP 뒤에 필드명을 적으면 고객 테이블에서 '취미' 필드를 삭제한다. 행(레코드)만 지우는 DELETE와 달리 열 자체가 없어지므로 테이블에 구조적인 변경이 일어난다.
CASCADE는 삭제하려는 대상을 참조하고 있는 다른 개체까지 함께 삭제하라는 옵션이다. 반대로 RESTRICT는 그 대상을 참조하는 개체가 하나라도 있으면 삭제를 거부한다.
따라서 이 문에서 CASCADE가 보장하는 것은 삭제의 연쇄일 뿐, 고객 테이블이 수정될 때 다른 테이블의 내용까지 따라서 수정되게 만드는 기능이 아니다. 값의 변경을 서로 연동하려면 관계 설정에서 '관련 필드 모두 업데이트'와 같은 참조 무결성 옵션을 따로 지정해야 한다.
DoCmd 개체는 Close(개체 닫기), OpenForm(폼 열기), Quit(Access 종료) 등 매크로 동작을 코드로 실행하는 다양한 메서드를 제공한다.
Undo는 DoCmd 개체의 메서드가 아니라 폼이나 컨트롤 자체에서 입력을 취소할 때 사용하는 별도의 기능이다.
DBMS 도입에는 하드웨어·소프트웨어 구입 및 전산화 비용 증가, 고급 프로그래머(전문 인력) 필요, 데이터 백업과 복구에 드는 비용과 시간 증가 등의 단점이 따른다.
반대로 데이터를 한 곳에 모아 중앙 집중적으로 관리할 수 있는 것은 DBMS의 대표적인 장점이지 단점이 아니므로, 중앙 집중 관리가 어렵다는 설명은 옳지 않다.
매개 변수 쿼리는 쿼리를 실행할 때마다 대화상자를 표시해 사용자로부터 조건 값을 입력받은 뒤, 그 값을 조건으로 사용해 쿼리를 실행하는 방식이다.
크로스탭 쿼리는 데이터를 행과 열로 요약해 표시하는 쿼리이고, 통합 쿼리는 여러 테이블이나 쿼리의 결과를 하나로 합치는 쿼리이며, 실행 쿼리는 데이터를 추가·수정·삭제하는 등 테이블의 내용을 변경하는 쿼리로 실행할 때마다 조건 값을 입력받는 기능과는 관계가 없다.
레코드를 그룹화하여 요약·정렬해 보여주는 [그룹화 및 정렬] 기능은 보고서에서 데이터를 그룹 단위로 묶어 표시할 때 사용하는 기능이며, 폼 작성 시 사용하는 기능이 아니다.
나머지 설명은 모두 폼에서 실제로 가능한 기능이다. 컨트롤 마법사로 폼을 닫는 매크로를 실행하는 명령 단추를 만들 수 있고, 폼 속성 시트의 그림 속성으로 배경 그림을 지정할 수 있으며, 사각형·직선 같은 도형 컨트롤도 삽입할 수 있다.
속성 시트에서 컨트롤(또는 하위 폼)의 제목으로 표시되는 문자열은 캡션(Caption) 속성이며, 이 속성은 [형식] 탭에 있다. 하위 폼의 캡션을 수정하면 폼 화면에 표시되는 하위 폼의 레이블(제목)이 바뀐다.
[데이터] 탭의 표시 속성, [이벤트] 탭, [기타] 탭의 레이블 속성은 캡션(제목) 변경과는 관련이 없다.
보고서의 [페이지 설정] 대화상자에서 [페이지] 탭은 인쇄 방향(세로/가로), 용지 크기, 프린터 선택 등을 지정하는 곳이며, 인쇄할 페이지 범위를 지정하는 기능은 여기에 없다. 인쇄 범위 지정은 [파일]-[인쇄] 대화상자에서 이루어진다.
여러 열로 구성된 보고서의 열 개수, 행 간격, 열 너비·높이는 [열] 탭에서 설정하고, 보고서의 상하좌우 여백은 [인쇄 옵션] 탭에서 밀리미터 단위로 지정한다. 또한 [인쇄 옵션] 탭의 '데이터만 인쇄'를 선택하면 테두리·눈금선·도형 등 그래픽 요소 없이 데이터만 인쇄된다.
[기타] 탭에는 상태 표시줄에 나타나는 안내 문구인 상태 표시줄 텍스트와, Tab 키로 이동하는 순서를 지정하는 탭 인덱스 속성이 함께 있다.
유효성 검사 규칙은 [형식] 탭이 아닌 [데이터] 탭 속성이고, [이벤트] 탭에는 마우스 클릭·업데이트 전후처럼 이벤트가 발생했을 때 실행할 동작을 지정하는 속성만 표시되므로 IME 모드나 하이퍼링크 관련 속성은 여기에 없으며, 데이터시트 캡션은 [데이터] 탭이 아닌 [형식] 탭 속성이므로 나머지 연결은 옳지 않다.
테이블에 레코드를 추가할 때 특정 필드에 자동으로 채워지는 값을 지정하는 것은 기본값(Default Value) 속성이며, 기본 키(Primary Key)는 레코드를 고유하게 식별하기 위한 속성일 뿐 입력 값을 자동으로 채워주는 기능이 아니다.
유효성 검사 규칙으로 입력 가능한 값의 범위를 제한하고, 입력 마스크로 자리별 입력 형식을 제한하며, 색인을 이용해 중복 값 입력을 막는 것은 모두 데이터 입력 방식을 제어하는 실제 방법이다.
콤보 상자의 컨트롤 원본은 선택한 값을 저장할 필드를 지정하는 속성이며, 목록으로 표시할 데이터를 SQL문이나 테이블명으로 지정하는 것은 행 원본 속성의 역할이다. 따라서 컨트롤 원본에 대한 설명이 행 원본의 설명과 바뀌어 있다.
행 원본 유형에서 '테이블/쿼리', '값 목록', '필드 목록' 중 선택하는 것, 바운드 열로 목록에서 몇 번째 열 값을 저장할지 지정하는 것, 목록 값만 허용을 '예'로 설정해 목록에 없는 값의 입력을 막는 것은 모두 콤보 상자의 실제 속성 설명이다.
사용자의 다양한 요구 사항을 분석해 개체와 속성, 관계 등 정보의 구조를 관계도(ERD)로 표현하는 단계는 개념적 설계이다.
데이터베이스 기획은 그 이전 단계로 목적과 범위를 정하는 단계이고, 논리적 설계는 개념적 설계 결과를 특정 DBMS에 맞는 논리적 모델로 변환하는 단계이며, 물리적 설계는 저장 구조와 접근 방법 등을 구체화하는 단계이므로 ERD 생성 단계와는 다르다.
| 컨트롤 원본 | 결과 | |
|---|---|---|
| ⓐ | ="Page" & [Page] & "/" & [Pages] | 1/5 Page |
| ⓑ | =[Page] & "페이지" | 1페이지 |
| ⓒ | =[Page] & "/" & [Pages] & "Page" Page | 1/5 |
| ⓓ | =Format([Page], "00") | 01 |
[Page]는 현재 페이지 번호, [Pages]는 전체 페이지 수를 돌려주는 내장 속성이고 &는 문자열을 이어 붙이는 연산자다. 전체가 5페이지인 보고서의 첫 페이지라면 [Page]는 1, [Pages]는 5가 된다.
=[Page] & "페이지"는 1과 '페이지'를 그대로 이어 붙여 1페이지가 되고, =Format([Page], "00")은 페이지 번호를 두 자리로 맞춰 표시하므로 01이 된다. 이 두 가지는 표에 적힌 결과와 정확히 일치한다.
반면 ="Page" & [Page] & "/" & [Pages]는 적힌 순서대로 이어 붙여지므로 결과가 Page1/5이지 '1/5 Page'가 될 수 없다. 또 [Page] & "/" & [Pages] 뒤에 "Page"를 덧붙인 식은 1/5Page가 되어 '1/5'만 표시될 수 없다. 결국 컨트롤 원본과 결과가 옳게 연결된 것은 1페이지와 01 두 가지다.
급여 필드에 백만원 이상 오백만원 이하의 값만 입력되도록 하려면 두 조건을 모두 만족해야 하므로 >= 1000000 And <= 5000000과 같이 And 연산자로 두 비교식을 연결해야 한다.
Or로 연결하면 두 조건 중 하나만 만족해도 되어 범위를 벗어난 값도 허용되고, 콤마가 포함된 형식이나 값과 연산자의 순서가 뒤바뀐 식은 올바른 비교식이 아니므로 옳지 않다.
VBA의 명령문은 한 줄에 하나씩 작성하는 것이 일반적이며, 명령문의 끝을 구분할 때 세미콜론(;)을 사용하지 않는다. 세미콜론으로 문장을 구분하는 것은 SQL이나 C 계열 언어의 방식이다.
프로시저가 연산이나 값 계산을 수행하는 명령문과 메서드의 모음이라는 점, 이벤트 프로시저가 특정 이벤트 발생 시 자동 실행되면서도 다른 프로시저에서 호출될 수 있다는 점, Function 프로시저가 Function 문으로 시작해 End Function 문으로 끝난다는 점은 모두 옳은 설명이다.
입력 마스크 09#L에서 0은 반드시 숫자가 입력되어야 하는 자리, 9는 숫자 입력이 선택적인 자리, #은 숫자·공백·부호가 입력되어도 되는 자리, L은 반드시 문자(A~Z)가 입력되어야 하는 자리를 의미한다.
따라서 앞의 세 자리는 숫자이고 마지막 한 자리는 문자인 '123A' 형태의 값만 이 조건을 모두 만족한다. 첫째 자리에 문자가 오거나, 셋째 자리에 문자가 오는 값은 숫자 자리 규칙을 어기므로 입력할 수 없다.
메모 형식은 최대 65,535자까지 입력할 수 있는 긴 텍스트 데이터 형식으로, 참고 사항이나 설명처럼 긴 문자열이나 문자와 숫자가 섞인 내용을 저장할 때 사용한다.
예/아니요 형식은 1바이트가 아닌 1비트로 저장되고, 통화 형식은 8비트가 아닌 8바이트로 저장되며, 숫자 형식의 크기는 필드 크기 설정에 따라 1·2·4·8바이트 등으로 달라지므로 이들 연결은 옳지 않다.
SELECT 문에서 선택된 필드 값이 중복되는 레코드를 하나만 남기고 제외하려면 DISTINCT 조건자를 사용한다.
UNIQUE나 ONLY, *는 SQL에서 중복 제거를 지시하는 표준 조건자가 아니다.
SELECT 부서정보.부서번호, 부서명, 번호, 이름, 실적
FROM 부서정보 RIGHT JOIN 사원정보 ON 부서정보.부서번호 = 사원정보.부서번호;
제시된 문은 FROM 부서정보 RIGHT JOIN 사원정보 ON 부서정보.부서번호 = 사원정보.부서번호 로 두 테이블을 연결한다. RIGHT JOIN은 오른쪽 테이블의 레코드를 모두 포함하고, 왼쪽 테이블에서는 조인 조건이 일치하는 레코드만 가져오는 외부 조인이다.
여기서 오른쪽에 놓인 것은 [사원정보]이므로 사원정보의 레코드는 실적 값이 있든 없든 전부 결과에 표시된다. 반대로 [부서정보]는 사원정보의 부서번호와 일치하는 것만 남으므로, 소속 사원이 한 명도 없는 부서는 결과에 나타나지 않는다.
두 테이블에서 부서번호가 일치되는 레코드만 표시하는 것은 내부 조인(INNER JOIN)의 결과이고, [부서정보]의 레코드를 모두 포함하려면 LEFT JOIN이어야 한다. 또 실적이 있는지 여부는 조인 방식이 아니라 WHERE 절로 걸러야 하는 조건이므로, 실적이 있는 레코드만 남는다는 설명도 맞지 않는다.
도메인 집계 함수 중 조건에 맞는 값의 합계를 구하는 함수는 DSUM이며, 형식은 DSUM(합계를 구할 필드, 도메인(테이블/쿼리), 조건식) 순서로 작성한다. 따라서 직급이 '과장'인 사원의 급여 합계는 DSUM("[급여]", "[사원]", "[직급]='과장'")으로 구한다.
DHAP은 존재하지 않는 함수명이고, 필드와 도메인의 순서를 바꿔 DSUM("[사원]", "[급여]", ...)와 같이 쓰면 인수 순서가 잘못되어 올바른 값을 구할 수 없다.