[컴퓨터활용능력 1급 필기] 10년 3회차 시험지 PDF 다운로드
10년 3회차
USB는 한 번에 8비트를 동시에 전송하는 병렬 포트가 아니라, 데이터를 순차적으로 한 비트씩 전송하는 직렬(시리얼) 포트 방식이면서도 빠른 전송 속도를 갖는 장치이다.
USB는 컴퓨터를 끄거나 재시작하지 않고도 장치를 연결·해제할 수 있는 플러그 앤 플레이 방식의 외부 버스이며, 이론적으로 최대 127개의 주변장치를 연결할 수 있다.
하드 디스크 파티션은 하나의 물리적인 디스크를 하나 이상의 논리적인 영역(드라이브)으로 나누는 작업이지, 물리적인 폴더 영역으로 나누는 것이 아니다.
파티션을 설정한 뒤에는 포맷을 해야 실제로 사용할 수 있고, 각 파티션 영역마다 서로 다른 운영체제를 설치할 수 있으며, 한글 Windows XP에서는 [컴퓨터 관리] 창을 통해 파티션 작업을 수행할 수 있다.
어댑터(네트워크 어댑터, 즉 랜카드)는 통신하는 컴퓨터 사이에서 데이터를 전기 신호로 변환해 주는 하드웨어 장치이며 소프트웨어가 아니다.
클라이언트는 사용자가 네트워크의 다른 컴퓨터나 파일에 접근할 수 있게 해 주는 구성 요소이고, 서비스는 파일 및 프린터 공유와 같은 기능을 제공하며, 프로토콜은 컴퓨터끼리 통신할 때 지켜야 하는 규약이라는 설명은 모두 옳다.
서브넷 마스크는 하나의 IP 주소에서 네트워크를 식별하는 네트워크 ID 부분과 해당 네트워크 안의 개별 장치를 식별하는 호스트 ID 부분을 구분해 주는 역할을 한다.
도메인 이름을 IP 주소로 변환하는 것은 DNS 서버의 역할이고, 호스트의 연결 방식 식별이나 사용자 IP 식별은 서브넷 마스크와 무관한 설명이다.
프린터를 네트워크로 공유하려면 해당 프린터의 등록 정보(속성) 창에 있는 공유 탭에서 설정하는 것이 맞다.
기본 프린터로 지정한다고 해서 자동으로 공유되는 것은 아니며, 컴퓨터에 직접 연결된 로컬 프린터도 공유할 수 있고, 한 네트워크에서 여러 대의 프린터를 동시에 공유할 수 있으므로 나머지 설명은 옳지 않다.
제한된 계정(Limited Account)은 본인 소유의 그림이나 암호 등 개인 설정을 바꾸는 것과 같이 자신의 계정과 관련된 최소한의 변경만 할 수 있다.
프로그램·하드웨어 설치, 시스템 전체 설정 변경, 다른 사용자 계정 변경은 모두 컴퓨터 관리자 계정 권한이 있어야 가능한 작업이다.
디스크 조각 모음은 조각나 흩어져 저장된 파일과 폴더를 인접한 공간으로 모아 정리해 접근 효율을 높이는 기능일 뿐, 파일 자체를 지우거나 압축하는 기능이 아니므로 디스크의 여유 공간을 늘려 주지는 않는다.
파일을 효율적으로 액세스하게 해 주고, 관리자 계정 권한이 필요하며, 조각난 파일을 인접 공간으로 통합한다는 설명은 모두 옳다.
FTP는 파일을 업로드·다운로드하는 파일 전송 전용 서비스로, 서버에 있는 프로그램을 원격으로 실행시키는 기능은 제공하지 않는다.
그림과 같은 이진 파일은 Binary 모드, 문서와 같은 텍스트 파일은 Text 모드로 전송하며, 계정 없이도 접속해 이용할 수 있는 Anonymous FTP가 존재한다는 설명은 옳다.
활성화된 창 하나만을 클립보드에 캡처할 때는 <Alt>+<PrintScreen>을 사용하며, <Shift>+<PrintScreen>은 이러한 기능을 수행하지 않는다.
연속된 파일·폴더 선택, <Delete>와 함께 눌러 휴지통을 거치지 않고 영구 삭제, 드래그 앤 드롭 시 다른 드라이브로의 이동은 모두 <Shift> 키의 실제 사용 예이다.
키보드 등록 정보 창에서는 문자 반복이 시작되기 전 지연 시간, 문자 반복 속도, 커서 깜박이는 속도 등을 설정할 수 있지만, 언어와 키보드 배열의 변경은 '지역 및 언어 옵션'에서 설정하는 항목이다.
따라서 언어·키보드 배열 변경을 키보드 등록 정보 창에서 할 수 있다는 설명은 옳지 않다.
2진 정수 데이터가 실수 데이터보다 표현 범위가 크다는 전제 자체가 잘못되었다. 실수는 지수부를 이용해 정수보다 훨씬 넓은 범위의 값을 표현할 수 있으며, 정수 연산이 빠른 것은 표현 범위와는 무관하게 연산 구조가 단순하기 때문이다.
보수를 이용해 덧셈으로 뺄셈을 수행하는 것, 실수를 부호·지수부·가수부로 구분해 표현하는 것, 10진 연산을 위해 언팩·팩 표현을 사용하는 것은 모두 옳은 설명이다.
컴퓨터프로그램보호법은 프로그램을 작성하는 데 사용하는 프로그래밍 언어, 규약(프로토콜), 해법(알고리즘) 자체는 보호 대상에서 제외하고 있다.
저작권은 창작한 시점부터 발생해 공표 다음 해부터 50년간 보호되며, 무단 배포는 위법이고, 원 프로그램을 개작한 2차적 프로그램도 독자적으로 보호받는다는 설명은 옳다.
링(Ring)형 구조는 인접한 컴퓨터와 단말기들을 순서대로 연결해 고리 모양을 이루며, 양방향으로 데이터를 전송할 수 있는 방식이다.
양끝에 종단 장치가 필요한 것은 버스형, 중앙 장치에 1:1로 접속하는 것은 성형, 모든 컴퓨터를 직접 연결하는 것은 망형(메시형)의 특징이다.
스트리밍 기술은 파일을 서버에서 받아 재생하는 일방향 전송 방식으로, 인터넷 방송이나 원격 교육처럼 콘텐츠를 실시간으로 흘려보내 재생하는 데 사용될 뿐 쌍방향 의사소통을 위한 기술은 아니다.
파일을 완전히 내려받지 않고도 재생할 수 있고, *.ram, *.asf, *.wmv 등의 형식을 지원한다는 설명은 옳다.
사용 가능도(가용성)는 시스템을 사용하고자 할 때 얼마나 즉시 이용할 수 있는가를 나타내는 지표이지, 시스템을 사용할 수 있는 사용자의 수를 의미하는 것이 아니다.
반환 시간의 단축, 처리 능력의 향상, 신뢰도의 향상은 모두 운영체제가 추구하는 목적에 대한 올바른 설명이다.
멀티미디어는 처리의 편의를 위해 다양한 아날로그 데이터를 디지털 데이터로 변환하여 처리하는 것이지, 그 반대 방향으로 변환하는 것이 아니다.
여러 미디어를 통합해 처리하고, 사용자의 선택에 따라 비순차적으로 데이터가 처리되며, 정보 제공자와 사용자 간 상호작용이 이루어진다는 설명은 옳다.
IPv6 주소는 16비트씩 8부분으로 구성되며 각 부분을 콜론(:)으로 구분한다. 점(.)으로 구분하는 것은 IPv4 주소 표기 방식이다.
각 부분을 16진수 네 자리로 표현하며 앞자리의 0을 생략할 수 있고, IPv4보다 서비스별 패킷 구분과 품질보장이 용이하며, 유니캐스트·애니캐스트·멀티캐스트로 주소를 할당해 낭비를 줄인다는 설명은 옳다.
WWW에서 멀티미디어 정보의 송수신 오류를 제어하는 것은 TCP가 담당하는 역할이며, SMTP는 전자우편을 전송할 때 사용하는 프로토콜이다.
WWW는 멀티미디어 형식의 정보를 제공하고, HTTP를 사용하며, 서버가 정보를 제공하면 클라이언트가 웹 브라우저로 검색·수신한다는 설명은 옳다.
Windows, Unix, Linux는 컴퓨터 자체를 운용하기 위한 시스템 소프트웨어(운영체제)이지 응용 소프트웨어가 아니다.
소프트웨어가 명령어들의 집합이라는 것, 시스템 소프트웨어와 응용 소프트웨어로 분류된다는 것, 응용 소프트웨어가 실제 업무 처리를 위해 개발된 프로그램이라는 설명은 모두 옳다.
새로운 글꼴을 설치할 때는 글꼴 폴더에서 [파일]-[새 글꼴 설치] 메뉴를 이용하며, [프로그램 추가/제거]는 글꼴 설치와 관련이 없는 기능이다.
글꼴을 삭제·확인·시험 인쇄하거나 추가할 수 있고, 글꼴 폴더에는 TTC·TTF·FON 확장자의 파일이 저장되며, 글꼴 폴더의 위치가 C:\Windows\Fonts라는 설명은 옳다.
엑셀에서 마우스 스크롤로 화면을 확대·축소할 때는 <Ctrl> 키를 누른 채 스크롤을 조작해야 하며, <Shift> 키를 사용하는 것이 아니다.
워크시트를 최소 10%까지 축소할 수 있고, 전체 화면 보기를 선택하면 메뉴 표시줄과 워크시트만 남기며, 선택 영역에 맞춤 확대는 최대 400%까지 가능하다는 설명은 옳다.
외부 데이터 가져오기로 워크시트에 들여온 데이터는 원본과 연결이 유지되어 새로 고침 기능으로 최신 데이터를 반영할 수 있으며, 단순히 복사되어 원본 변경 사항이 전혀 반영되지 않는 것이 아니다.
Access, FoxPro, Oracle 등의 데이터베이스를 가져올 수 있고, 쿼리로 조건에 맞는 데이터만 추출할 수 있으며, 여러 테이블을 조인해야 할 때는 새 쿼리 만들기를 이용한다는 설명은 옳다.
실행 결과를 반환하는 것은 Function 프로시저이며, Sub~End Sub 프로시저는 특정 작업을 수행할 뿐 값을 반환하지 않는다.
프로시저가 특정 기능을 수행하는 명령문들의 집합이라는 것, 매크로 기록 시에도 프로시저 형태로 기록된다는 것, 여러 프로시저가 모여 하나의 모듈을 구성한다는 것은 옳은 설명이다.
[편집] 탭의 '자동 연결 업데이트 확인'은 다른 응용 프로그램을 참조하는 수식이 있는 파일을 열 때 사용자에게 업데이트 여부를 물어보도록 하는 옵션이지, 별도로 묻지 않고 자동으로 계산·새로 고침을 수행하는 기능이 아니다.
작업 표시줄에 창을 표시하는 것, 메모와 표식을 항상 표시하고 빨간 삼각형을 나타내는 것, 셀을 더블클릭해 직접 편집하게 하는 것은 각각 해당 옵션에 대한 올바른 설명이다.
엑셀에서 수식은 등호(=)로 시작하는 것이 원칙이며, 편의상 더하기(+)나 빼기(-) 기호로 시작해도 등호를 붙인 수식으로 인식된다. 즉 더하기로 시작하는 경우도 허용되므로 '반드시 등호 또는 빼기 기호로 시작해야 한다'는 설명은 옳지 않다.
TODAY 함수나 <Ctrl>+<;>로 오늘 날짜를 입력할 수 있고, 시간은 콜론으로 시·분·초를 구분해 입력하며, 범위를 지정한 뒤 <Ctrl>+<Enter>를 누르면 동일한 데이터가 한꺼번에 입력된다는 설명은 옳다.
| 합계 : 대출금액 | 대출종류 | |||
| 대출지점 | 기간 | 국민주택기금대출 | 무보증신용대출 | 예부적금담보대출 |
| 경기 | 12 | 2,500,000 | ||
| 24 | 3,000,000 | |||
| 30 | 17,000,000 | |||
| 36 | 5,000,000 | |||
| 48 | 1,000,000 | |||
| 경기 요약 | 17,000,000 | 8,000,000 | 3,500,000 | |
| 부산 | 24 | 6,000,000 | ||
| 36 | 10,000,000 | |||
| 48 | 6,000,000 | |||
| 60 | 15,000,000 | |||
| 부산 요약 | 21,000,000 | 10,000,000 | 6,000,000 |
제시된 피벗 테이블은 합계 : 대출금액이라는 표제로 시작한다. 이는 값(데이터) 영역에 대출금액 필드가 합계 함수로 요약되어 놓여 있다는 뜻이다.
왼쪽 세로 방향에는 대출지점(경기, 부산)과 기간(12, 24, 30, 36, 48, 60)이 차례로 놓여 있으므로 이 둘이 행 필드이고, 표 위쪽 가로 방향에 대출종류가 놓여 국민주택기금대출·무보증신용대출·예부적금담보대출로 펼쳐져 있으므로 대출종류가 열 필드다.
따라서 행 필드가 대출종류와 기간이라거나 열 필드가 대출지점이라는 설명은 실제 배치와 정반대다. 또 표에 나타난 요약 줄은 대출지점별 부분합(경기 요약 17,000,000 / 8,000,000 / 3,500,000, 부산 요약 21,000,000 / 10,000,000 / 6,000,000)일 뿐이고 행·열 전체를 더한 총합계 줄은 표시되어 있지 않다.
일정한 자릿수의 소수점을 고정해 숫자를 빠르게 입력하려면 [도구]-[옵션]-[편집] 탭의 '고정 소수점' 항목에서 소수점 위치를 지정하면 된다.
'데이터 범위의 서식과 수식을 확장', '셀에서 직접 편집', '셀 내용 자동 완성'은 각각 다른 기능을 위한 옵션으로 소수점 위치 지정과는 관련이 없다.
주어진 설명 중 행과 열을 뒤섞어 서술한 것이 옳지 않다.
해당 설명은 '행은 …필드가 계열이 되고, 행은 각 레코드가 계열이 된다'처럼 '행'이라는 말을 두 번 사용해 앞뒤가 서로 맞지 않는다. 바르게 쓰면 열을 기준으로 할 때 각 필드가 데이터 계열이 되고, 행을 기준으로 할 때 각 레코드가 데이터 계열이 된다.
차트 영역 전체에 그림이나 배경 무늬를 넣을 수 있다는 점, 눈금선의 바로 가기 메뉴에서 [눈금선 서식]으로 스타일·색·두께를 바꿀 수 있다는 점은 모두 옳은 설명이다.
어떤 값을 0으로 나누면 수학적으로 정의되지 않은 연산이 되므로 엑셀은 #DIV/0! 오류를 표시한다.
#NAME?은 함수명이나 이름을 인식하지 못할 때, #NUM!은 숫자 인수에 문제가 있을 때, #VALUE!는 데이터 형식이 맞지 않을 때 표시되는 오류로, 0으로 나누는 경우와는 다르다.

차트는 본사·미국지사·일본지사·합계가 세로 방향 항목으로 놓이고 가로 방향 눈금이 0%·50%·100%로 표시된 3차원 100% 기준 누적 가로 막대형이다. 각 막대는 1월부터 4월까지 네 계열이 비율로 쌓여 있고 위쪽에 '월별 판매내역'이라는 차트 제목이 붙어 있다.
가로 막대형에서는 지사명이 늘어선 세로축이 항목 축이고 백분율 눈금이 매겨진 가로축이 값 축이다. 그림에서 '판매량'은 0%·50%·100% 눈금 바로 아래에 놓여 있으므로 이것은 값 축 제목이며 항목 축 제목으로 볼 수 없다.
한편 1월·2월·3월·4월 표식이 담긴 범례가 차트 아래쪽에 가로로 배치되어 있어 범례 서식의 배치가 아래쪽으로 지정된 상태이고, 3차원 차트이므로 3차원 서식에서 상하 회전과 좌우 회전 각도를 각각 지정할 수 있다.
ROUNDUP(324.54,1)은 소수 첫째 자리까지 무조건 올림하므로 324.6이 되고, PRODUCT(1,-2)는 1과 -2를 곱한 -2이며 여기에 ABS를 적용하면 2가 된다.
따라서 전체 식의 결과는 324.6과 2를 더한 326.6이 된다.
Sub 예제( )
Test = 0
Do Until Test> 10
Test = Test + 1
Loop
End Sub
코드는 Test에 0을 넣은 뒤 Do Until Test > 10 반복문 안에서 Test = Test + 1을 실행한다. Do Until은 조건이 참이 될 때까지 반복하는 구조여서, Test가 10보다 커지는 순간 반복이 끝난다.
Test가 0, 1, 2 … 10인 동안에는 조건 Test > 10이 모두 거짓이므로 계속 1씩 증가한다. Test가 11이 된 뒤 다시 조건을 검사할 때 비로소 11 > 10이 참이 되어 Loop를 빠져나온다.
따라서 반복이 끝난 시점에 남아 있는 Test 값은 11이다. 10에서 멈춘다고 보는 것은 조건을 검사하는 시점을 한 번 앞당겨 잘못 센 결과다.
데이터 통합 시 원본 데이터에 병합된 셀이 있으면 값이 잘못 합산되거나 오류가 발생할 수 있어 올바른 결과가 보장되지 않는다. 통합을 사용할 때는 원본 범위에 병합된 셀이 없어야 한다.
데이터 표가 특정 값의 변화에 따른 결과값 변화를 표로 보여주는 기능이라는 것, 두 변수의 변화를 계산할 때 행과 열을 이용한 2차원 표를 쓴다는 것, 데이터 통합이 여러 곳에 흩어진 데이터를 하나로 합쳐 계산하는 기능이라는 것은 모두 옳은 설명이다.
Selection.Font.Italic = True
With Selection
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = True
.IndentLevel = 2
.ShrinkToFit = False
.MergeCells = True
End With
With Selection.Font
.Name = "돋움"
.Size = 14
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
맞춤과 관련해 코드가 지정한 항목은 .VerticalAlignment = xlCenter(세로 맞춤 가운데), .WrapText = False, .Orientation = 0, .AddIndent = True, .IndentLevel = 2, .ShrinkToFit = False, .MergeCells = True 뿐이다. 가로 맞춤을 담당하는 HorizontalAlignment 구문은 어디에도 없으므로 이 매크로를 실행해도 셀의 가로 텍스트 맞춤은 가운데로 바뀌지 않는다.
.MergeCells = True가 들어 있어 여러 개의 셀을 선택한 뒤 실행하면 선택 영역이 하나의 셀로 병합되고, 첫 줄의 Selection.Font.Italic = True에 의해 글꼴 스타일이 기울임꼴로 설정된다.
글꼴 블록에서는 .Name = "돋움", .Size = 14가 지정되어 글꼴은 돋움체, 크기는 14가 되며 취소선·위첨자·아래첨자는 모두 해제되고 밑줄은 없음(xlUnderlineStyleNone), 글꼴 색은 자동(xlAutomatic)으로 적용된다.
정렬 옵션 대화상자에서 설정할 수 있는 항목은 대/소문자 구분 여부, 정렬 방향(위쪽에서 아래쪽/왼쪽에서 오른쪽), 사용자 지정 정렬 순서 등이며, 문자와 숫자의 우선순위를 지정하는 항목은 존재하지 않는다.
정렬은 기본적으로 오름차순 기준으로 숫자·문자·논리값 등의 순서가 미리 정해져 있을 뿐, 사용자가 별도로 문자/숫자 우선순위를 지정하는 옵션은 제공되지 않는다.

그림의 매크로 기록 대화상자에는 매크로 이름 Macro1, 바로 가기 키의 Ctrl+ 입력 칸, 매크로 저장 위치 목록, 설명 칸이 놓여 있다. 저장 위치 목록에는 현재 통합 문서가 선택되어 있으며, 이 목록에서는 개인용 매크로 통합 문서·새 통합 문서·현재 통합 문서 가운데 하나를 골라 지정할 수 있다.
이름 칸의 Macro1은 엑셀이 순서대로 붙여 준 기본값일 뿐 사용자가 원하는 이름으로 바꿀 수 있다. 다만 첫 글자는 반드시 문자여야 하고 공백이나 마침표, 물음표 등은 이름에 쓸 수 없다.
바로 가기 키 칸은 Ctrl+ 뒤에 영문자 한 글자만 받으므로 숫자 키는 지정할 수 없고, 대문자를 입력하면 Ctrl+Shift+영문자 조합이 된다. 설명 칸에 미리 들어 있는 '2005-10-25에 기록한 매크로' 같은 문구도 기록 날짜를 넣어 준 기본 문구일 뿐이어서 사용자가 지우거나 다른 내용으로 고쳐 쓸 수 있다.
[편집]-[시트 이동/복사]는 통합 문서 내에서 워크시트 자체를 이동하거나 복사하는 기능으로, 웹 페이지의 표를 워크시트로 가져오는 것과는 관련이 없다.
웹 페이지의 표를 복사해 붙여넣거나 드래그하여 시트에 드롭하는 방법, [데이터]-[외부 데이터 가져오기]-[새 웹 쿼리]를 사용하는 방법은 모두 웹 페이지의 표를 엑셀로 가져오는 실제 방법이다.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 나무 | 높이 | 나이 | 수확량 |
| 2 | 사과 | 18 | 20 | 14 |
| 3 | 배 | 11 | 12 | 10 |
| 4 | 사과 | 14 | 15 | 10 |
| 5 | 배 | 10 | 8 | 8 |
| 6 | 사과 | 8 | 9 | 6 |
| 7 | ||||
| 8 | 나무 | 높이 | ||
| 9 | 사과 | |||
| 10 | >10 |
DCOUNT는 조건에 맞는 레코드 가운데 지정한 열의 숫자 데이터 개수를 세는 함수다. 여기서 데이터베이스 범위는 나무·높이·나이·수확량이 들어 있는 [A1:D6], 열 번호 3은 세 번째 열인 나이, 조건 범위는 [A8:B10]이다.
조건 범위를 보면 나무의 '사과'와 높이의 '>10'이 서로 다른 행에 적혀 있다. 조건이 다른 행에 놓이면 OR로 묶이므로, 나무가 사과이거나 높이가 10보다 큰 레코드가 모두 대상이 된다.
나무가 사과인 것은 (사과, 18, 20, 14), (사과, 14, 15, 10), (사과, 8, 9, 6) 세 건이고, 높이가 10을 넘는 것은 높이 18·11·14인 세 건이다. 높이가 정확히 10인 배는 조건에 걸리지 않으므로 두 조건을 합치면 사과 세 건에 배(11, 12, 10) 한 건이 더해져 모두 4건이 되고, 이들의 나이 값이 전부 숫자이므로 결과는 4다.
인쇄 미리 보기 화면에서 마우스 끌기로 조절할 수 있는 것은 여백과 열의 너비이며, 행의 높이는 이 화면에서 드래그로 조절할 수 없다.
[설정]-[페이지]에서 용지 방향을 설정하고, 인쇄될 내용을 확대해서 볼 수 있으며, [설정]-[시트]에서 눈금선의 인쇄 여부를 설정할 수 있다는 설명은 옳다.
| A | B | C | D | E | F | G | H | I | J | K | L | M | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1학년 | 2학년 | |||||||||||
| 2 | 월 | 화 | 수 | 목 | 금 | 월 | 화 | 수 | 목 | 금 | |||
| 3 | 1교시 | 국어 | 1교시 | 국어 | 미술 | ||||||||
| 4 | 2교시 | 국어 | 영어 | 체육 | 2교시 | 국어 | 체육 | ||||||
| 5 | 3교시 | 수학 | 과학 | 3교시 | 수학 | 영어 | 과학 | ||||||
| 6 | 4교시 | 수학 | 미술 | 4교시 | 수학 | ||||||||
| 7 | |||||||||||||
| 8 | 전체 | ||||||||||||
| 9 | 월 | 화 | 수 | 목 | 금 | ||||||||
| 10 | 1교시 | 국어 | 국어 | 미술 | |||||||||
| 11 | 2교시 | 국어 | 국어 | 영어 | 체육 | 체육 | |||||||
| 12 | 3교시 | 수학 | 수학 | 영어 | 과학 | 과학 | |||||||
| 13 | 4교시 | 수학 | 수학 | 미술 |
1학년 시간표와 2학년 시간표는 모두 4교시 × 5요일의 같은 크기이며, 두 표의 같은 자리를 비교하면 한쪽에만 과목이 있거나 양쪽 모두 비어 있는 형태다. 아래 전체 시간표를 보면 월요일 1교시는 1학년의 '국어'가, 화요일 1교시는 2학년의 '국어'가 그대로 나타나고, 금요일 1교시는 2학년의 '미술'이 옮겨져 있다.
즉 전체 시간표의 각 칸은 두 표에서 같은 위치에 있는 문자열을 이어 붙인 결과다. 이런 문자열 연결에 쓰는 함수가 CONCATENATE이므로, [B10:F13] 영역을 한꺼번에 선택한 뒤 =CONCATENATE(B3:F6,I3:M6)을 입력하고 Ctrl+Shift+Enter로 확정해 배열 수식으로 만들면 된다.
MATCH는 찾으려는 값이 범위에서 몇 번째에 있는지를 숫자로 돌려주는 함수이고, REPLACE와 SUBSTITUTE는 원래 문자열의 일부를 다른 문자열로 바꾸는 함수여서 두 시간표를 겹쳐 합치는 용도로 쓸 수 없으며 인수 구성 자체도 맞지 않는다.
폼은 주로 데이터를 입력하고 편집하기 편한 화면을 제공하기 위한 용도로 사용되며, 데이터를 보기 좋게 인쇄·출력하는 용도로 주로 활용되는 개체는 보고서이다.
폼 마법사로 만든 폼도 디자인 보기에서 수정할 수 있고, 마법사를 통해 사용자가 선택한 필드로 폼을 생성할 수 있으며, 마법사 없이 디자인 보기에서 직접 폼을 만들 수도 있다는 설명은 옳다.
액세스에서 외부 데이터로 가져오거나 연결할 수 있는 형식에는 HTML 문서, Excel 문서, 텍스트 파일 등이 포함되지만, 파워포인트 문서는 지원되는 형식이 아니다.
액세스 질의문에서 나눗셈의 몫을 구하는 산술 연산자는 백슬래시(\)이며, 나눗셈의 나머지를 구하는 연산자는 Mod이다.
/는 일반적인 나눗셈(몫과 소수점 이하 포함)을 수행하고, &는 문자열을 연결하는 연산자로 몫을 구하는 것과는 다르다.

'도서 목록'이라는 제목과 출판사명·저자명·순번·제목·출판년월일·정가라는 열 이름이 들어간 음영 부분은 페이지 맨 위에 한 번만 나타난다. 이 부분이 출판사명 그룹 머리글에 작성되어 있다면 페이지 중간에서 출판사가 바뀌는 자리에도 같은 음영 제목 줄이 다시 인쇄되어야 하는데 그렇지 않다. 즉 이 영역은 페이지 머리글에 만든 것이고, 반복 실행 구역은 그룹 머리글에 있는 속성이므로 여기에 설정했다고 볼 수 없다.
본문은 출판사가 같은 도서끼리 묶여 출력되고 각 묶음의 첫 줄에만 출판사명이 표시되므로 출판사명 필드로 그룹화되어 그룹 머리글 영역이 설정된 상태다. 같은 저자의 도서 역시 저자명이 첫 줄에만 보이므로 출판사명과 저자명 순으로 정렬한 뒤 두 컨트롤의 중복 내용 숨기기 속성을 '예'로 지정한 결과임을 알 수 있다.
순번은 첫 번째 출판사 묶음에서 3, 4, 5, 6, 7로 이어지다가 다음 출판사 묶음에서 1, 2, 3, 4, 5로 다시 시작한다. 이는 컨트롤 원본을 =1로 두고 누적 합계 속성을 '그룹'으로 설정해 그룹이 바뀔 때마다 번호가 1부터 새로 매겨지는 동작이며, 첫 묶음에서 1과 2가 보이지 않는 것은 그 그룹이 앞 페이지에서 이미 시작되어 현재 4페이지로 이어졌기 때문이다.
가: 연속 폼에서 폼의 아랫 부분에 오늘의 날짜와 시간을 표시하려면 어떻게 하나요?
나: 그건 말이지, ( A ) 영역에 (B) 컨트롤을 만들고 (C) 속성을 (D)로 설정해 주면 되요.
대화가 묻는 것은 연속 폼의 아랫부분에 오늘 날짜와 시간을 표시하는 방법이다. 연속 폼에서 본문 영역은 레코드 수만큼 반복되어 나타나므로 여기에 날짜를 넣으면 레코드마다 같은 값이 되풀이된다. 폼 맨 아래에 한 번만 표시하려면 폼 바닥글 영역을 사용해야 한다.
값을 계산해서 보여 주려면 식을 담을 수 있는 컨트롤이 필요하다. 레이블은 고정된 문자열만 표시할 뿐 식을 계산하지 못하므로 텍스트 상자를 만들고 그 컨트롤 원본 속성에 식을 입력해야 한다.
표시할 내용이 날짜뿐이라면 Date 함수로 충분하지만 여기서는 날짜와 시간을 함께 보여 달라고 했으므로 현재 날짜와 시각을 모두 돌려주는 =now()를 써야 한다. 정리하면 폼 바닥글 영역에 텍스트 상자를 만들고 컨트롤 원본을 =now()로 설정하면 된다.
은경 : 삭제할 레코드를 선택한 후 [레코드 삭제] 단추를 클릭하면 삭제할 수 있어.
은효 : [레코드삭제] 명령을 내리면 삭제 확인 대화 상자가 나오는데 [예]를 클릭하면 삭제명령이 실행되는거야.
희윤 : 여러 개의 레코드를 선택한 후 한번에 삭제할 수도 있어.
지연 : 삭제된 레코드라도 한번에 한해서 되살릴 수 있어.
액세스에서 레코드 삭제는 되돌릴 수 없는 작업이다. 삭제를 실행하면 경고와 함께 확인을 묻고, 확인한 뒤에는 실행 취소가 적용되지 않아 한 번 지운 레코드는 다시 살릴 수 없다. 따라서 삭제된 레코드를 한 번에 한해 되살릴 수 있다는 설명은 잘못됐다.
반면 삭제할 레코드를 선택한 다음 레코드 삭제 명령이나 도구 모음의 삭제 단추를 눌러 지우는 방법, 레코드 선택기를 드래그해 여러 레코드를 한꺼번에 선택한 뒤 한 번에 삭제하는 방법은 모두 정상적으로 쓸 수 있다.
또 삭제 명령을 내리면 지울 레코드 수를 알려 주는 삭제 확인 대화 상자가 나타나며, 여기서 예를 선택해야 실제 삭제가 이루어지고 아니오를 선택하면 삭제가 취소된다. 이 확인 단계가 사실상 마지막 되돌림 기회다.
K5, KBO, KO, KOREA, K82, OK, SKC
다음 SQL문에 의해서 조회되는 CNO 목록으로 가장적절한 것은?
SELECT CNO
FROM COURSE
WHERE CNO LIKE 'K?'
Access의 LIKE 연산자에서 물음표(?)는 임의의 한 글자를, 별표(*)는 임의의 여러 글자를 대신한다. 따라서 조건 CNO LIKE 'K?'는 'K로 시작하면서 뒤에 글자가 정확히 하나만 더 붙는 값', 즉 전체 길이가 두 글자인 값만 찾아낸다.
CNO에 들어 있는 K5, KBO, KO, KOREA, K82, OK, SKC를 차례로 대입해 보면 조건을 만족하는 것은 K5와 KO뿐이다. KBO와 K82는 세 글자, KOREA는 다섯 글자여서 길이가 맞지 않고, OK와 SKC는 첫 글자가 K가 아니므로 제외된다.
만약 K로 시작하는 값을 길이에 상관없이 모두 얻고 싶다면 'K*'처럼 별표를 써야 하며, 그때는 K5, KBO, KO, KOREA, K82가 조회된다. 두 만능 문자의 차이를 구분하는 것이 이 문제의 핵심이다.
회원명단
| 주소 | 회원번호 | 이름 | 나이 |
|---|---|---|---|
| 서울 | 527 | 김혜민 | 29 |
| 327 | 최명주 | 55 | |
| 120 | 박찬주 | 21 |
회원수 : 서울 거주 회원수는 3명
보고서에서 컨트롤 원본에 식을 쓸 때, 필드 값을 가져오려면 [필드명]처럼 대괄호로 참조하고 고정된 글자는 큰따옴표로 묶은 뒤 & 연산자로 이어 붙인다. 이때 [주소]를 큰따옴표 안에 넣어 버리면 필드 값 '서울'이 아니라 '[주소]'라는 글자가 그대로 인쇄된다.
원하는 출력은 '서울 거주 회원수는 3명'이므로, 먼저 [주소]로 지역명을 꺼내고 ' 거주 회원수는 '이라는 문자열을 붙인 다음 Count([주소])로 해당 그룹의 레코드 수 3을 구하고 마지막에 '명'을 이어 붙여야 한다. 즉 =[주소]& " 거주 회원수는 "& Count([주소])& "명" 형태가 된다.
Count 함수는 인수로 지정한 필드에 값이 있는 레코드 개수를 세므로 회원번호·이름·주소 중 무엇을 넣어도 서울 그룹에서는 3이 나온다. 문제는 지역명을 문자열 안에 가둔 식들이고, 함수 호출 부분까지 큰따옴표 안에 들어간 식은 계산되지 않고 글자 그대로 출력되므로 원하는 결과를 얻을 수 없다.
수치를 가진 필드나 계산 필드의 총합계·평균과 같은 요약 값은 그룹 바닥글이나 보고서 바닥글에 주로 표시되며, 본문(Detail) 구역은 각 레코드의 개별 데이터를 표시하는 구역이다.
보고서 첫 페이지에만 나오는 제목 등을 표시하는 구역이 보고서 머리글이고, 페이지 번호나 출력 날짜를 표시하는 구역이 페이지 바닥글이며, 매 페이지 윗부분에 필드 제목 등을 표시하는 구역이 페이지 머리글이라는 설명은 옳다.
DBMS는 데이터의 종속성과 중복성 문제를 해결하기 위해 고안된 소프트웨어 시스템으로, 데이터베이스를 생성·관리하고 사용자의 질의에 대한 결과를 추출하며 응용 프로그램과 데이터를 중재하는 역할을 한다.
반면 데이터 모델링을 수행하고 데이터베이스를 정의하는 것은 DBMS 자체가 아니라 데이터 정의어(DDL)와 같은 데이터베이스 언어의 기능이다. DBMS를 하나의 데이터 언어로 규정하는 설명은 옳지 않다.
한 테이블의 필드가 다른 테이블의 기본 키를 참조할 때, 그 필드를 외래 키라고 부른다.
외래 키 값은 참조하는 테이블의 기본 키 값 중 하나이거나 널이어야 하며, 이러한 제약을 참조 무결성 제약조건이라 한다. 개체 무결성은 기본 키 자체가 널값이나 중복값을 가질 수 없다는 제약으로, 이 상황과는 다른 개념이다.

DLookUp 함수는 =DLookUp("가져올 필드", "도메인(테이블·쿼리) 이름", "조건식") 형식으로 사용하며, 세 인수 모두 문자열이어야 한다. 따라서 필드 이름과 테이블 이름을 반드시 큰따옴표로 묶어야 하고, 따옴표를 빠뜨리면 식으로 인식되지 않는다.
폼 화면에는 도서코드·도서명·저자코드·저자명·출판사가 나열되어 있지만, 레코드 원본인 [도서] 테이블에는 저자명이 없고 [저자] 테이블에 들어 있다. 그러므로 가져올 필드는 "저자명", 찾아볼 도메인은 "저자"가 되고, 조건은 [저자] 테이블의 저자코드가 현재 레코드의 txt저자코드 값과 같아야 한다는 것이다.
저자코드가 텍스트 형식이므로 비교할 값을 작은따옴표로 감싸야 하며, 조건식은 "저자코드 = '" & [txt저자코드] & "'" 로 조립된다. 결국 컨트롤 원본은 =DLookUp("저자명", "저자", "저자코드 = '" & [txt저자코드] & "'") 가 된다. 가져올 필드와 테이블의 자리를 서로 바꿔 쓰면 존재하지 않는 대상을 찾게 되어 오류가 난다.
Counter = 0
Sum = 0
Do while Counter<= 3
Counter =Counter + 1
Sum = Sum + Counter
Loop
제시된 코드는 Counter와 Sum을 모두 0으로 초기화한 뒤, Do While Counter <= 3 조건이 참인 동안 Counter를 1 증가시키고 그 값을 Sum에 누적한다. 조건 검사가 반복 블록 앞에서 이루어지므로, 조건을 통과해 들어간 뒤에는 블록 안의 두 문장이 모두 실행된다는 점이 중요하다.
실행 과정을 따라가면 Counter가 0일 때 참 → Counter 1, Sum 1 / 1일 때 참 → Counter 2, Sum 3 / 2일 때 참 → Counter 3, Sum 6 / 3일 때도 3 <= 3 이므로 참 → Counter 4, Sum 10 이 된다. 다음 검사에서 Counter가 4가 되어 조건이 거짓이 되므로 반복이 종료된다.
따라서 Sum에는 1+2+3+4가 누적되어 10이 저장된다. 조건이 3 이하라는 점만 보고 1+2+3=6으로 착각하기 쉬운데, Counter가 3인 상태에서도 조건이 참이라 루프에 들어가고 그 안에서 값이 4로 증가한 뒤 더해지므로 4까지 합산된다.
성적 : 테이블
| 학번 | 학과 | 점수 |
|---|---|---|
| 100 | 멀티 | 100 |
| 200 | 인터넷 | 88 |
| 300 | 인터넷 | 92 |
| 400 | 멀티 | 80 |
| 500 | 멀티 | 90 |
| 600 | 전산 | 78 |
| 700 | 간호 | 99 |
| 800 | 인터넷 | 57 |
| 900 | 간호 | 65 |
| 1000 | 유아 | 78 |
학과별평균
| 학과 | 점수평균 |
|---|---|
| 간호 | 82 |
| 멀티 | 90 |
| 인터넷 | 79 |
실행 결과 창에는 간호 82, 멀티 90, 인터넷 79 세 학과만 점수평균과 함께 나타난다. 성적 테이블의 인원은 멀티 3명(100·80·90), 인터넷 3명(88·92·57), 간호 2명(99·65), 전산 1명(78), 유아 1명(78)이므로, 소속 인원이 2명 이상인 학과만 남긴 결과임을 알 수 있다.
따라서 GROUP BY 학과로 학과별로 묶어 Avg(점수)를 계산한 뒤, 묶인 그룹에 대한 조건인 '개수 2 이상'을 HAVING Count(*)>=2로 지정해야 한다. 실제로 계산하면 (99+65)/2=82, (100+80+90)/3=90, (88+92+57)/3=79로 결과 창의 값과 정확히 맞아떨어진다.
WHERE절은 그룹으로 묶기 전 개별 레코드에 적용되는 조건이라 Count 같은 집계 함수를 조건으로 쓸 수 없고, 그룹 기준을 학과가 아니라 점수로 잡으면 같은 점수끼리 묶여 학과별 평균이라는 결과 자체가 나오지 않는다.
반복실행구역, 레코드 원본, 중복 내용 숨기기에 대한 설명은 모두 보고서 속성으로서 타당하다. 그룹 머리글을 매 페이지마다 나타나게 하거나, SQL문을 레코드 원본으로 지정하거나, 이전 레코드와 같은 값을 갖는 컨트롤을 숨기는 기능은 실제로 존재한다.
다만 보고서는 조회와 출력을 목적으로 하는 개체로, 폼과 달리 화면에서 데이터를 직접 수정하도록 지원하는 속성이 존재하지 않는다. 보고서의 데이터를 수정할 수 있게 만든다는 설명은 옳지 않다.
레이블은 제목이나 설명 문구를 표시하기 위한 컨트롤로 데이터를 입력받지 않으며 포커스를 받을 수 없다.
탭 순서는 키보드로 포커스를 이동시키는 순서를 지정하는 것인데, 포커스 자체를 받을 수 없는 레이블은 그 대상에서 제외된다. 텍스트 상자, 콤보 상자, 명령 단추는 모두 포커스를 받을 수 있으므로 탭 순서에 포함된다.
폼은 데이터 연결 여부에 따라 바운드 폼과 언바운드 폼으로 구분되며, 바운드 폼은 테이블의 내용을 표시하고 수정할 수 있다.
그러나 폼을 특정 테이블이나 쿼리에 연결(바운드)하는 것은 폼의 '레코드 원본' 속성에서 지정하는 것이며, '컨트롤 원본'은 텍스트 상자 등 개별 컨트롤이 어떤 필드의 값을 표시할지 지정하는 속성이다. 두 속성을 혼동한 설명이므로 옳지 않다.
폼을 통해 화면 구성을 제한함으로써 데이터베이스의 보안성과 사용자 편의성을 높일 수 있다는 설명은 타당하다.
인덱스에 이름을 동일하게 부여하면 여러 필드를 묶어 하나의 다중 필드 인덱스로 구성할 수 있고, OLE 개체 형식을 제외한 대부분의 데이터 형식에는 인덱스를 설정할 수 있다. 중복 불가능 색인을 지정하면 동일한 값의 중복 입력이 방지된다.
다만 인덱스를 설정하면 검색이나 정렬 속도는 빨라지는 대신, 데이터를 추가·수정할 때마다 인덱스 정보도 함께 갱신해야 하므로 업데이트 속도는 오히려 느려진다. 속도 변화의 방향을 반대로 서술한 설명은 옳지 않다.

관계 창을 보면 부서 테이블(부서코드·부서이름·부서장)과 사원 테이블(사번·성명·성별·부서코드·근무년수)이 공통 필드인 부서코드로 일대다(1:∞) 관계를 맺고 있다. 즉 검색 조건인 부서이름은 부서 테이블에만 있고, 출력할 성명과 근무년수는 사원 테이블에만 있다.
그러므로 부서이름이 '영업부'인 부서의 부서코드를 부서 테이블에서 먼저 구한 뒤, 그 코드를 가진 사원만 골라 성명과 근무년수를 표시하면 된다. 이를 하위 질의로 표현한 SELECT 성명, 근무년수 FROM 사원 WHERE 부서코드 IN (SELECT 부서코드 FROM 부서 WHERE 부서이름 = '영업부'); 가 가장 적절하다.
FROM에 두 테이블을 나열하면서 부서코드끼리 연결하는 조인 조건을 넣지 않으면 모든 행이 짝지어지는 카티션 곱이 생겨 엉뚱한 결과가 대량으로 나오고, 사원 테이블에 있는 근무년수를 부서 테이블 별칭으로 참조하거나 left join에 ON 없이 WHERE만 쓰고 괄호까지 어긋난 구문은 아예 실행되지 않는다.
기본키는 반드시 하나의 필드로만 구성되는 것이 아니라, 여러 필드를 묶어 하나의 기본키(복합 키)로 지정할 수도 있다.
기본키에 해당하는 값은 각 레코드를 유일하게 식별할 수 있어야 하므로 중복될 수 없고 널값도 허용되지 않으며, 한 테이블에는 하나의 기본키만 설정할 수 있다는 나머지 설명은 모두 타당하다.