모든 컴퓨터를 그물 모양으로 서로 연결하는 형태는 링형이 아니라 망형(Mesh)이다. 링형은 각 컴퓨터를 인접한 두 대와 연결해 하나의 폐회로(원형)로 구성하는 형태다.
나머지 설명은 옳다. 트리형은 허브를 계층적으로 연결한 형태이고, 버스형은 하나의 회선에 여러 컴퓨터를 연결한 형태이며, 스타형은 각 컴퓨터를 허브와 점 대 점으로 연결한 형태다.
셰어웨어는 사용 기간이나 일부 기능을 제한해 배포한 뒤 정식 제품 구입을 유도하는 프로그램이다.
정해진 금액을 내고 쓰는 것은 상용 소프트웨어다. 기간 제한 없이 무료로 쓰고 배포할 수 있는 것은 프리웨어다. ROM에 저장되어 BIOS와 관련된 것은 펌웨어다.
탐색 창·미리 보기 창·세부 정보 창의 표시 여부는 파일 탐색기의 [보기] 리본 탭에서 켜고 끄는 항목이며, [폴더 옵션] 창에서 설정하는 항목이 아니다.
[폴더 옵션] 창에서는 숨김 파일·폴더 표시 여부, 시스템 파일을 검색할 때 색인 사용 여부, 알려진 파일 형식의 확장명 숨김 여부 등을 지정할 수 있다.
블루투스는 IEEE 802.15.1 규격을 사용하는 근거리 무선 통신(PAN)의 산업 표준이다.
- 주변기기 커넥터끼리 호환되지 않는 문제를 해결하려고 개발되었다는 설명은 USB에 대한 것이다.
- 기기 종류와 상관없이 하나의 표준 접속으로 다양한 기능을 수행하게 한다는 설명도 블루투스의 정의가 아니다.
- 기존 전화선을 이용한 고속 디지털 전송 기술이라는 설명은 xDSL에 해당한다.
서브넷 마스크는 IP 주소에서 네트워크 주소와 호스트 주소를 구분해 주는 역할을 한다.
도메인명을 IP 주소로 변환하는 것은 DNS 서버의 역할이다. 연결 방식을 식별하거나 사용자의 IP를 식별하는 것은 서브넷 마스크의 기능이 아니다.
방화벽의 핵심 기능은 외부에서 내부로 들어오는 패킷을 검사해 인가된 패킷만 통과시키는 것이다. 내부에서 외부로 나가는 패킷까지 검사해 허용 여부를 가른다고 보기는 어렵다.
이 때문에 방화벽은 외부의 불법 침입은 막아도 내부 사용자에 의한 정보 유출처럼 내부에서 생기는 위협은 통제하지 못한다는 한계가 있다.
나머지 설명은 방화벽에 대해 옳다. 보안 통로를 단일화해 관리하고, 로그를 통한 역추적으로 침입 흔적을 찾을 수 있으며, 외부망과 내부망 사이에 위치한다.
비트맵 방식은 픽셀 정보를 그대로 저장하므로 벡터 방식보다 메모리를 더 많이 차지한다. 대신 계산 없이 바로 픽셀을 그려 주므로 화면 표시 속도는 더 빠르다. 이 설명은 메모리와 속도 관계를 반대로 서술하고 있다.
나머지 설명은 옳다. 비트맵은 픽셀로, 벡터는 점과 점을 잇는 직선·곡선으로 이미지를 표현하며, 벡터 방식은 확대·축소해도 화질 손상이 거의 없다.
GIF는 픽셀 단위로 이미지를 저장하는 비트맵 방식의 형식이며, 벡터 방식으로 이미지를 표현하지 않는다.
나머지 설명은 옳다. GIF는 8비트 컬러로 256색까지 지원하고, 여러 프레임으로 간단한 애니메이션을 표현할 수 있으며, 무손실 압축 기술을 사용한다.
*.wmf는 점과 선의 좌표·명령으로 이미지를 표현하는 벡터 형식 파일이다.
*.jpg, *.png, *.gif는 모두 픽셀 단위로 이미지를 저장하는 비트맵 방식 파일이다.
프록시 서버는 방화벽 기능과, 자주 요청되는 데이터를 저장해 두는 캐시 기능을 함께 수행한다.
내부 불법 해킹 차단, FTP 연결 해제, 네트워크 병목 해결은 프록시 서버의 기능으로 보기 어렵다.
바이러스는 부트 섹터나 BIOS 등을 손상시켜 하드웨어 동작에도 영향을 줄 수 있다. 따라서 소프트웨어에만 영향을 미친다는 설명은 옳지 않다.
나머지 설명은 맞다. 바이러스는 감염 부위에 따라 부트 바이러스와 파일 바이러스로 나뉘고, 스스로 복제되어 프로그램과 데이터를 파괴하며, 주로 복제품이나 통신으로 받은 프로그램을 통해 감염된다.
다른 Windows 시스템·서버에 연결해 파일과 프린터를 공유하게 해 주는 구성 요소는 Microsoft 네트워크 클라이언트이다.
TCP/IP는 통신 프로토콜이고, 네트워크 어댑터는 물리적 통신 장치이며, NetBEUI는 소규모 네트워크용 프로토콜로 각각 역할이 다르다.
패킷마다 수신측 주소를 붙여 독립적으로 전송하고 도착 순서가 송신 순서와 달라질 수 있는 방식은 데이터그램 패킷 교환 방식이다.
회선 교환은 통신 전에 전용 회선을 설정하는 방식이고, 메시지 교환은 메시지 전체를 저장했다가 전달하는 방식이다. 가상회선 패킷 교환은 미리 정해진 경로로 순서대로 전달하므로 순서가 항상 일치한다.
자바는 구조체·공용체·포인터를 제공하지 않는다. 이것들은 C/C++ 계열 언어의 특징이며, 자바는 포인터 없이 참조(레퍼런스)로 객체를 다룬다.
나머지는 자바의 옳은 특징이다. 바이트 코드를 생성해 플랫폼에 독립적으로 실행되고, 멀티스레드로 여러 작업을 동시에 처리하며, 객체지향 언어라 유지 관리가 편리하다.
다음 중 보조 기억 장치인 SSD(Solid State Drive)와 HDD(Hard Disk Drive)를 비교한 설명으로 옳지 않은 것은?
SSD는 같은 용량의 HDD보다 GB당 가격이 더 높다. 따라서 대용량 자료를 장기 보관하는 용도로는 HDD가 SSD보다 더 경제적이다.
나머지 설명은 옳다. SSD는 기계 부품이 없어 소음·발열·전력 소모가 적고, 임의 접근 속도가 빠르며, 충격에 강하다. HDD는 플래터를 회전시켜 트랙·섹터 단위로 데이터를 관리한다.
다음 중 Windows 10의 [시스템 속성] 대화상자에서 [고급] 탭을 통해 설정할 수 있는 항목으로 옳지 않은 것은?
드라이브별로 시스템 보호를 켜거나 끄고 복원 지점을 만드는 작업은 [시스템 보호] 탭에서 하며, [고급] 탭의 기능이 아니다.
[고급] 탭에서는 시각 효과·프로세서 사용 계획·가상 메모리 등 성능 옵션, 시작 및 복구 옵션, Path와 같은 환경 변수를 설정할 수 있다.
다음 중 Windows 10에서 원격 데스크톱 연결이 되지 않을 때 그 원인을 확인하기 위한 조치로 가장 적절하지 않은 것은?
파일 탐색기 [폴더 옵션]에서 [기본값 복원]을 실행하면 폴더 보기 설정이 초기화될 뿐이다. 원격 데스크톱 연결 장애의 원인을 확인하는 것과는 관계가 없다.
나머지는 실제 원인을 파악하는 데 도움이 되는 적절한 조치다. 연결 대상 PC에서 원격 데스크톱이 활성화되어 있는지, 방화벽이 원격 데스크톱을 허용하는지 확인하고, ping으로 네트워크 연결을 확인한다.
다음 중 Windows 10의 휴지통에 관한 설명으로 옳지 않은 것은?
파일을 선택하고 Shift+Delete를 누르면 휴지통을 거치지 않고 완전히 삭제되므로 복원할 수 없다.
나머지 설명은 옳다. 드라이브(파티션)마다 휴지통의 최대 크기를 다르게 지정할 수 있다. 이동식 드라이브나 네트워크 드라이브에서 삭제한 파일은 휴지통에 보관되지 않는다. 휴지통의 파일은 그 자리에서 열거나 실행할 수 없고, 복원한 뒤에만 사용할 수 있다.
다음 중 클라우드 컴퓨팅과 빅데이터에 대한 설명으로 옳지 않은 것은?
완성된 응용 프로그램을 웹 브라우저로 이용하는 서비스 모델은 SaaS이고, 서버·스토리지 같은 인프라를 가상화해 제공하는 모델은 IaaS이다. 이 설명은 둘을 서로 뒤바꿔 놓았다.
나머지 설명은 옳다. PaaS는 개발·실행 플랫폼을 서비스로 제공한다. 빅데이터는 양(Volume)·속도(Velocity)·다양성(Variety)의 3V로 설명되며, 정형 데이터뿐 아니라 SNS 글이나 영상 같은 비정형 데이터도 분석 대상이다.
다음 중 OTT(Over The Top) 서비스와 스트리밍 기술에 대한 설명으로 옳지 않은 것은?
스트리밍은 콘텐츠를 실시간으로 전송받으면서 재생하는 방식이라 재생 중에도 네트워크 연결이 계속 필요하다. 파일 전체를 미리 내려받아 두는 것은 다운로드 방식이다.
나머지 설명은 옳다. OTT는 별도 셋톱박스 없이 다양한 기기에서 인터넷망으로 영상을 제공한다. 라이브 스트리밍과 VOD 스트리밍의 구분도 맞으며, 적응형 스트리밍은 네트워크 속도에 맞춰 화질을 자동으로 조절한다.
시간을 입력할 때 am/pm을 생략하면 입력한 시각 그대로 24시간제로 인식된다. 입력하는 순간의 실제 현재 시각을 기준으로 am/pm이 자동으로 정해지지는 않는다.
나머지 설명은 옳다. 날짜를 입력할 때는 '/'나 '-'를 쓰고, 로 오늘 날짜를, 로 현재 시간을 입력한다.
셀의 바로 가기 메뉴에는 '셀 편집'이라는 명령 자체가 없으므로, 이 방법으로는 편집 모드로 전환할 수 없다.
편집할 셀을 더블클릭하는 방법, 셀을 클릭한 뒤 수식 입력줄을 클릭하는 방법, 셀을 클릭한 뒤 키를 누르는 방법은 모두 실제로 편집 모드로 전환된다.
다음 중 아래에서 설명하는 차트의 종류로 가장 적절한 것은?
- 가로 축의 값이 일정한 간격이 아닌 경우
- 가로 축의 데이터 요소 수가 많은 경우
- 데이터 요소 간의 차이점보다는 큰 데이터 집합 간의 유사점을 표시하려는 경우
설명에 해당하는 차트는 분산형 차트입니다.
제시된 조건은 가로 축의 값이 일정한 간격이 아닌 경우, 가로 축의 데이터 요소 수가 많은 경우, 데이터 요소 간 차이점보다 큰 데이터 집합 간의 유사점을 표시하려는 경우입니다. 분산형(XY) 차트는 두 축 모두 값 축이라 불규칙한 간격의 수치 데이터를 표시하는 데 적합합니다.
- 주식형 차트는 고가·저가·종가 등 주가 변동을 나타낼 때 사용합니다.
- 영역형 차트는 시간에 따른 변화량과 합계 추세를 강조합니다.
- 방사형 차트는 여러 데이터 계열의 집계 값을 중심점 기준으로 비교합니다.
다음 중 서식 코드를 셀의 사용자 지정 표시 형식으로 설정한 경우 입력 데이터와 표시 결과가 옳지 않은 것은?
| 서식 코드 | 입력 데이터 | 표시 | |
|---|---|---|---|
| ⓐ | # ???/??? | 3.75 | 3 3/4 |
| ⓑ | 0,00#, | -6789 | -0,007 |
| ⓒ | *-#,##0 | 6789 | *----6789 |
| ⓓ | ▲#;▼#;0 | -6789 | ▼6789 |
옳지 않은 것은 ⓒ(*-#,##0 / 6789 / *----6789)입니다.
서식의 *는 바로 뒤 문자(-)를 셀 너비만큼 반복해 채우라는 기호라서 * 자체는 표시되지 않습니다. 또 #,##0이므로 천 단위 쉼표가 붙어 ----6,789처럼 표시되어야 합니다.
- ⓐ # ???/??? 에 3.75 → 정수 3과 분수 3/4로 3 3/4 표시(옳음)
- ⓑ 0,00#, 에 -6789 → 끝의 쉼표로 1000 단위 생략(-6.789 → -7), 최소 자릿수 0이 채워져 -0,007 표시(옳음)
- ⓓ ▲#;▼#;0 에 -6789 → 음수 구역 ▼# 적용, 부호 없이 ▼6789 표시(옳음)
MDETERM 함수는 배열로 저장된 행렬의 행렬식(determinant)을 구한다. 역행렬을 구하는 함수는 MINVERSE다.
나머지 설명은 옳다. 배열 수식의 상수로는 정수·실수·지수 형식의 숫자를 쓸 수 있다. PERCENTILE은 0에서 1 사이의 k값으로 백분위수를 구하며, FREQUENCY는 구간별 발생 빈도를 세로 배열로 반환한다.
상태 표시줄의 바로 가기 메뉴는 평균·개수·합계 같은 표시 항목을 선택하는 용도다. 이 메뉴로 셀 범위의 이름을 정의할 수는 없으며, 이름은 이름 상자나 [수식] 탭에서 정의한다.
나머지 설명은 옳다. 상태 표시줄에서 보기 상태를 기본·페이지 레이아웃·페이지 나누기 미리 보기 중에서 바꿀 수 있고, 확대/축소 슬라이더가 기본으로 표시되며, 현재 작업 상태에 대한 기본 정보가 나타난다.
네 수식 중 결과가 다른 것은 MOD(2, -5)다. 나머지는 모두 이지만 이 수식만 이다.
는 C, D, E 세 개 열을 참조하므로 이다. 도 한 행이 값 3개로 이루어진 배열이라 이다.
는 결과의 부호를 제수(뒤의 값)와 같게 반환하므로 이다.
는 숫자 , 직접 입력된 논리값 , 숫자를 나타내는 텍스트 을 세어 이 된다. 문자열 "거짓"은 세지 않는다.
여러 시트를 그룹으로 묶은 상태에서는 정렬이나 필터 같은 명령이 비활성화되므로 수행할 수 없다.
나머지 설명은 옳다. 제목 표시줄에 [그룹]이라고 표시되고, 그룹 상태에서는 도형·차트 같은 그래픽 개체가 삽입되지 않으며, 한 시트에서 입력·편집한 내용이 그룹으로 묶인 모든 시트에 똑같이 반영된다.
틀 고정을 취소하려면 [보기]-[틀 고정]-[틀 고정 취소] 명령을 실행해야 한다. 화면에 표시된 틀 고정 선을 더블 클릭해도 취소되지 않는다.
나머지 설명은 옳다. 틀 고정은 스크롤하는 동안에도 특정 행·열이 계속 표시되게 하는 기능이다. 첫 행이나 첫 열, 또는 선택한 셀을 기준으로 위쪽 행과 왼쪽 열을 고정할 수 있다. 인쇄할 때는 화면상의 틀 고정 형태가 적용되지 않는다.
결과 셀 지정 여부는 보고서 종류에 따라 반대로 적용된다. 시나리오 피벗 테이블 보고서는 결과 셀을 반드시 지정해야 하지만, 시나리오 요약 보고서는 결과 셀 없이도 작성할 수 있다.
여러 시나리오를 하나의 표로 비교하는 요약 보고서 작성, 변경 셀·결과 셀에 이름을 정의하면 그 이름이 보고서에 표시되는 점, 원본 값이 바뀌어도 기존 요약 보고서가 자동 갱신되지 않아 새로 만들어야 하는 점은 모두 올바른 설명이다.
,
,
등의 윤곽 기호가 표시되지 않는 경우 [Excel 옵션]에서 표시되도록 설정할 수 있다.윤곽(그룹)은 데이터 목록을 계층으로 묶어 요약을 접었다 펼 수 있게 하는 기능으로, 최대 8개 수준까지 설정할 수 있습니다. 보기에 그림으로 제시된 수준 번호 단추와 +·- 모양의 확장·축소 단추가 바로 윤곽 기호이며, 이 기호가 보이지 않으면 [Excel 옵션]-[고급]에서 '윤곽을 설정한 경우 윤곽 기호 표시'를 켜서 나타낼 수 있습니다.
또한 윤곽을 만들 때 자동으로 스타일을 적용하도록 지정할 수도 있고, 이미 만들어 둔 윤곽에 나중에 스타일을 적용할 수도 있습니다.
주의할 점은 윤곽 지우기는 화면에 표시되던 윤곽 기호와 그룹 구조만 제거할 뿐, 원본 데이터나 요약 행은 그대로 남는다는 것입니다. 윤곽을 제거하면 요약 정보가 표시된 원본 데이터까지 삭제된다는 설명은 옳지 않습니다.

옳은 조건은 =MOD(COLUMN(B3),2)=0이다. [B3:E6] 중 B열(자산코드)과 D열(경과연수)에만 배경색이 채워져 있고 C열(내용연수)·E열(취득원가)은 흰색이다. B는 2번째, D는 4번째 열이므로 열 번호가 짝수인 열에만 서식이 적용된 것이다.
COLUMN 함수는 참조의 열 번호를 돌려준다.
COLUMN(B3)=2, COLUMN(C3)=3, COLUMN(D3)=4, COLUMN(E3)=5이므로
=MOD(COLUMN(B3),2)=0 은 B열과 D열에서만 참이 되어 그림과 같은 결과가 나온다.
조건부 서식의 수식은 범위의 첫 셀을 기준으로 작성하고 나머지 셀에는 상대적으로 옮겨 적용되므로, 열을 고정하지 않은 상대 참조 B3를 써야 각 셀이 자기 열 번호로 판정된다.
열 문자 앞에 $를 붙인 $B3는 어느 셀에서 평가되든 열이 B로 고정되어 COLUMN 값이 항상 2가 되므로 [B3:E6] 전체가 색칠되어 그림과 달라진다.
또 COLUMNS는 참조 영역에 포함된 열의 개수를 세는 함수여서 COLUMNS(B3)와 COLUMNS($B3) 모두 1을 돌려주고 MOD(1,2)=1이 되므로, 조건이 언제나 거짓이라 아무 셀에도 서식이 적용되지 않는다.
워크시트 이름은 최대 31자까지만 지정할 수 있어, 255자까지 가능하다는 설명은 틀렸다.
시트 탭을 더블클릭해 이름을 바로 수정할 수 있고, 하나의 통합 문서 안에서는 동일한 시트 이름을 중복 사용할 수 없다.
이름 입력 시 *, ?, /, [ ] 같은 특수 기호는 사용할 수 없다는 점도 옳은 설명이다.

[B5] 셀에는 8이 표시됩니다.
시트 값은 A1=1, B1=2, A2=3, B2=4이고 D1=1, E1=2, D2=3, E2=4입니다. 배열 수식 =A1:B2+D1:E2는 두 범위의 같은 위치 요소끼리 더해 [A4:B5]에 채웁니다.
[A4]=1+1=2, [B4]=2+2=4, [A5]=3+3=6
[B5]는 두 범위의 2행 2열 요소 합이므로 B2+E2 = 4+4 = 8입니다.
Do While ~ Loop는 조건을 만족하는 동안 반복 실행하는 제어문이며, 조건을 만족하지 않는 동안 실행된다는 설명은 틀렸다(그 반대 동작은 Do Until ~ Loop에 해당한다).
Function ~ End Function은 값을 반환하는 사용자 정의 함수를, Sub ~ End Sub는 반환값이 없는 프로시저를 만들 때 사용한다.
For ~ Next는 지정한 횟수만큼 반복하여 실행하는 제어문이라는 설명도 옳다.
'TOP10'은 자동 필터의 기능이지 정렬의 사용자 지정 옵션이 아니므로, 사용자 지정에서 TOP10을 선택해 상위 10위까지만 정렬한다는 설명은 틀렸다.
정렬은 여러 기준을 중첩해서 지정할 수 있고, 행을 정렬할 때 숨겨진 열의 데이터도 함께 정렬 대상에 포함된다.
기본 정렬 방향은 위에서 아래로 행을 재배치하는 방식이라는 설명도 옳다.
월 상환액은 PMT(이율, 기간, 현재가치) 함수로 구하며, 이율과 기간을 모두 월 단위로 맞춰야 한다.
연 이율 5%를 12로 나눈 가 월 이율이고, 10년을 개월 수로 바꾼 이 총 상환 횟수다.
대출받은 원금은 현재가치(pv)에 음수로 넣어야 상환액이 양수로 계산되므로, 형태가 올바른 수식이다.
아래 워크시트에서 출신지역[C3:C12]을 이용하여 출신지역이 [E3] 셀과 같은 사원의 인원수를 [F3] 셀에 배열 수식으로 구하려고 한다. 다음 중 [F3] 셀에 입력할 수식으로 옳은 것은?

옳은 수식은 =SUM(IF(C3:C12=E3,1,0))입니다. 이 수식은 조건에 맞으면 1, 아니면 0을 만들어 합산하므로 인원수 4를 구합니다.
출신지역 [C3:C12]에서 [E3]의 '서울'과 같은 사원은 김민준, 박지훈, 조현우, 임도현의 4명입니다.
- =SUM(IF(C3:C12=E3,0,1)): 서울이 아닌 사원을 세어 6이 됩니다.
- =COUNT(IF(C3:C12=E3,"O","X")): COUNT는 숫자만 세므로 문자 "O"·"X"는 세지 않아 0이 됩니다.
- =COUNTA(IF(C3:C12=E3,1)): 거짓이면 FALSE가 반환되고, COUNTA는 FALSE도 세므로 10이 됩니다.
다음 중 피벗 테이블에서 날짜 필드와 숫자 필드의 그룹 설정에 대한 설명으로 옳지 않은 것은?
날짜 필드에 빈 셀이나 문자 데이터가 섞여 있으면 날짜 단위로 자동 그룹화되지 않는다. 순수하게 날짜 형식 데이터만 있어야 [그룹화] 대화상자에서 연·분기·월·일 단위로 묶을 수 있으므로, 문자나 빈 셀이 섞여 있어도 날짜 셀만 골라 자동 그룹화된다는 설명은 틀렸다.
날짜 필드는 [그룹화] 대화상자에서 연·분기·월·일 등 여러 단위를 함께 선택할 수 있고, '일' 단위에서는 날짜 수를 지정해 7일 단위처럼 구간을 만들 수 있다.
숫자 필드는 시작값·끝값과 단위로 구간을 지정하며, [그룹 해제]를 실행하면 다시 개별 항목으로 돌아간다는 설명도 옳다.
다음 중 표면형 차트와 계층 구조 차트(트리맵·선버스트)에 대한 설명으로 옳지 않은 것은?
3차원 표면형 차트의 색과 무늬는 값의 범위(구간)를 구분하기 위한 것이지, 데이터 계열을 구분하기 위한 것이 아니므로 계열마다 다른 색이 지정된다는 설명은 틀렸다.
표면형 차트는 두 데이터 집합 간의 최적 조합을 찾을 때 유용하며 항목과 계열이 모두 숫자 값일 때 지형도처럼 표시된다는 설명은 옳다.
트리맵은 계층 데이터를 크기가 다른 사각형으로 표시해 비율을 비교하고, 선버스트는 계층의 각 수준을 동심원 고리로 표시해 안쪽 고리가 상위 수준을 나타낸다는 설명도 맞다.
가입일 조건과 등급 조건을 모두 WHERE 절에 함께 지정해야 준회원만 정회원으로 바뀐다. 액세스 SQL에서 날짜는 문자열이 아니라 #2010-10-16#처럼 샵 기호로 감싸 표기해야 한다.
- 날짜를 큰따옴표로 묶으면 날짜 비교가 아닌 문자열 비교가 되어 의도한 결과가 나오지 않는다.
- 등급 = '준회원' 조건을 생략하면 이미 정회원인 사람까지 포함해 가입일 조건을 만족하는 모든 회원의 등급이 바뀐다.
따라서 날짜는 샵 기호로, 조건은 가입일과 등급을 AND로 함께 지정한 문장이 옳다.
패턴과 일치하는 데이터를 찾을 때는 Like 연산자를 사용하며, *나 ? 같은 와일드카드 문자와 함께 쓴다.
Match·Some·Any는 액세스 쿼리에서 패턴 검색에 쓰이는 연산자가 아니다.
매크로는 폼뿐 아니라 보고서의 이벤트에도 연결할 수 있고, 독립된 매크로 개체로 실행할 수도 있어 폼 개체 내에서만 사용할 수 있다는 설명은 틀렸다.
매크로는 반복 작업을 자동화하는 기능이며, 매크로 함수(또는 그 집합)로 구성되고 각 함수에 인수를 추가해 동작을 제어할 수 있다.
매크로를 이용해 폼을 열고 닫거나 메시지 박스를 표시하는 등의 작업도 가능하다는 설명은 옳다.
[탭 정지] 속성을 '아니오'로 설정하면 Tab 키로 이동할 때 그 컨트롤에는 포커스가 머무르지 않는다.
탭 인덱스는 포커스가 이동하는 순서를 정하는 속성일 뿐 이동 여부 자체를 막는 속성이 아니므로, 인덱스를 0이나 -1로 바꾸는 방법으로는 포커스 이동을 막을 수 없다.

먼저 WHERE 학년="SN" 조건을 만족하는 레코드를 고르면 학번 1004(통계, 23세), 1005(영문, 21세), 1010(통계, 25세) 세 건이 남는다. 학년이 SO·JR·FR인 1002·1008·1009는 이 단계에서 제외된다.
남은 세 건을 GROUP BY 전공으로 묶으면 통계 그룹 2건, 영문 그룹 1건이 된다. 이어지는 HAVING COUNT(*) >= 2는 묶은 뒤의 그룹에 대한 조건이므로 레코드가 2건 이상인 통계 그룹만 남고 영문 그룹은 걸러진다.
따라서 최종 결과는 통계 전공 두 학생의 나이 평균인 (23 + 25) / 2 = 24 한 행이다. WHERE는 그룹으로 묶기 전 개별 레코드를 거르고 HAVING은 묶은 뒤의 그룹을 거른다는 순서를 기억하면 이런 문제를 안정적으로 풀 수 있다.
다른 폼의 컨트롤 값을 참조할 때는 Forms! 폼이름! 컨트롤이름 형식으로 느낌표(!)를 사용해 연결한다.
= Forms!매출조회!txt기준일처럼 폼 이름과 컨트롤 이름 모두 느낌표로 구분해야 하며, 마침표(.)로 연결하는 형식은 올바른 참조 방식이 아니다.

월별 합계는 WHERE로 올해 자료를 먼저 거른 뒤 GROUP BY month(납부일)로 묶어야 하므로, 이 순서로 된 SQL이 옳습니다.
[회비납부] 테이블은 납부일(날짜/시간)과 회원번호(짧은 텍스트)가 기본 키이고, 납부금액은 통화 형식입니다. 데이터는 2013-01-07·01-21·01-30(1월 3건)과 2013-02-04·02-06·02-13·02-26(2월 4건)처럼 날짜가 모두 다릅니다.
- group by 납부일: 날짜마다 그룹이 따로 생겨 월별 합계가 되지 않습니다.
- GROUP BY 뒤에 WHERE를 쓴 문장: SQL은 SELECT → FROM → WHERE → GROUP BY 순서여야 하므로 문법 오류입니다.
따라서 SELECT에 쓴 month(납부일)과 같은 식으로 그룹화해야 월별 sum(납부금액)을 얻을 수 있습니다.
Run 메서드는 사용자 정의 Function이나 Sub 프로시저를 실행하는 기능이며, 이 설명이 올바르다.
실제로는 CurrentProject가 현재 열려 있는 프로젝트나 데이터베이스 자체에 대한 참조이고, CurrentData가 그 안에 저장된 개체에 대한 참조인데, 이 문제에서는 두 속성의 정의가 서로 뒤바뀌어 제시되어 있어 옳지 않은 설명이 된다.
DoCmd는 명령어를 직접 실행하는 것이 아니라 VBA에서 액세스의 매크로 함수를 실행할 때 사용하는 개체다.
Recordset의 속성·메서드는 공급자(provider)가 지원하는 기능에 따라 제한되므로, 공급자와 관계없이 항상 사용할 수 있다는 설명은 틀렸다.
Recordset 개체는 레코드(행)와 필드(열)로 구성되고, 테이블에서 가져온 레코드를 임시로 저장하는 레코드 집합이라는 설명은 옳다.
Recordset은 언제나 현재 레코드라는 단일 레코드만을 가리키며 커서를 이동해 다른 레코드를 참조한다는 설명도 맞다.
분할 표시 폼은 폼 보기와 데이터시트 보기 중 어느 쪽에서 값을 바꿔도 서로 자동 반영되므로, 데이터시트 보기에서만 데이터를 변경할 수 있다는 설명은 틀렸다.
같은 데이터를 폼 보기와 데이터시트 보기로 동시에 볼 수 있고, 한쪽에서 필드를 선택하면 다른 쪽에서도 같은 필드가 선택된다는 설명은 옳다.
데이터시트가 표시되는 위치를 폼의 위·아래·왼쪽·오른쪽 중에서 선택할 수 있다는 설명도 맞다.
디자인 보기에서 삽입된 하위 보고서 컨트롤도 다른 컨트롤처럼 크기를 조절할 수 있으므로, 크기 조절이 불가능하다는 설명은 틀렸다.
하위 보고서 컨트롤에 딸린 레이블은 삭제할 수 있고, 하위 보고서 마법사를 이용해 작성할 수도 있다.
"일대다" 관계에서 하위 보고서에는 "다" 쪽 데이터가 표시된다는 설명도 옳다.
한 릴레이션에 포함된 튜플의 수는 '카디널리티(Cardinality)'라고 하며, '인스턴스'는 이를 가리키는 용어가 아니므로 이 설명은 틀렸다.
릴레이션은 연관된 속성의 집합으로 관계형 모델의 테이블을 의미하고, 속성들 사이에는 순서가 없다는 설명은 옳다.
튜플을 유일하게 식별하는 속성들의 부분집합을 키(Key)로 설정한다는 설명도 맞다.
[중복 내용 숨기기] 속성을 '예'로 설정하면 같은 값이 연속될 때 두 번째 이후의 값은 표시되지 않아, 지역명이 그룹의 첫 레코드에서만 나타난다.
[누적 합계]는 값을 더해 표시하는 속성이고 [확장 가능]·[표시] 속성은 중복 값을 숨기는 기능과 관계가 없다.
WHERE 절은 그룹화(GROUP BY)되기 전 개별 레코드를 걸러내는 조건이므로, 그룹화한 뒤에 WHERE 절로 그룹화된 레코드를 걸러낸다는 설명은 틀렸다(그룹화 이후의 조건은 HAVING 절로 지정한다).
FROM 절에는 SELECT에 나열된 필드를 포함하는 테이블이나 쿼리를 지정하고, 중복 레코드를 없앨 때는 DISTINCT 조건자를 사용한다는 설명은 옳다.
AS 문으로 필드나 테이블 이름에 별명을 지정할 수 있다는 설명도 맞다.
기본키가 아니어도 고유 인덱스가 설정된 필드라면 관계를 만들 수 있으므로, 기본키 필드가 아니면 관계를 만들 수 없다는 설명은 틀렸다.
기본 테이블의 기본키와 관련 테이블의 외래키 데이터 형식이 같으면 참조 무결성을 강화할 수 있고, 기본키 값이 바뀌면 관련 테이블의 값도 자동으로 갱신되도록 설정할 수 있다.
기본 테이블에서 레코드를 삭제하면 관련 테이블의 레코드도 자동으로 함께 삭제되도록 설정할 수 있다는 설명도 옳다.
'학과'는 값이 두 가지로만 나뉘지 않는 항목이라 예/아니오 형식으로 표현할 수 없다.
성별, 합격 여부, 회원/비회원 구분은 모두 두 값 중 하나로만 결정되는 항목이라 예/아니오 데이터 형식에 적합하다.

학년·반은 [학생] 테이블에만 있으므로, 하위 질의로 1학년 1반 학생의 학번을 구한 뒤 [성적]에서 IN으로 조회하는 SQL이 옳습니다.
그림의 테이블 구조는 다음과 같습니다.
[성적]: 학번(기본 키, 짧은 텍스트), 과목(짧은 텍스트), 점수(숫자)
[학생]: 학번(기본 키, 짧은 텍스트), 이름(짧은 텍스트), 학년(숫자), 반(숫자)
- [성적]에서 where 학년=1 and 반=1: [성적]에는 학년·반 필드가 없습니다.
- [학생]에서 학번, 과목, 점수를 조회하는 문장: [학생]에는 과목·점수 필드가 없습니다.
따라서 select 학번, 과목, 점수 from 성적 where 학번 in (select 학번 from 학생 where 학년=1 and 반=1) 형태가 정답입니다.

<학생> 테이블에 없는 학번 '987'을 <수강>의 '수강학생'에 추가하는 작업이 참조 무결성을 위반합니다.
그림의 <학생> 테이블 학번은 123(홍길동), 246(김갑동), 357(박동식)뿐이고, <수강> 테이블의 수강학생 값은 123, 246, 123, 123, 246입니다. 참조 무결성은 외래 키 값이 참조하는 테이블의 기본 키에 반드시 존재해야 한다는 규칙입니다.
- <학생>에 468/김해성 추가: 참조되는 쪽에 레코드를 추가하는 것이므로 문제없습니다.
- 수강학생 123을 357로 변경: 357은 <학생>에 있으므로 허용됩니다.
- 학번 357의 성명을 '이황'으로 변경: 기본 키가 아닌 필드 수정이므로 무관합니다.
다음 중 폼의 텍스트 상자 컨트롤 원본에 아래와 같은 식을 입력했을 때 표시되는 결과로 옳지 않은 것은? (단, 오늘 날짜는 2025년 5월 7일이다.)
"q" 서식은 날짜가 속한 분기(quarter)를 반환하므로, 2025년 5월 7일은 2분기에 해당해 결과는 2가 되어야 한다. 결과가 5라는 설명은 틀렸다.
=Format(Date(),"yyyy년 mm월 dd일")은 2025년 05월 07일로, =Format(1234.567,"#,##0.00")은 로, =Format(0.25,"0%")은 25%로 표시된다는 설명은 모두 옳다.
다음 중 폼의 텍스트 상자 컨트롤 원본에 아래와 같은 문자열 함수식을 입력했을 때 표시되는 결과로 옳지 않은 것은?
InStr(3, "Access 2021", "c")는 3번째 위치부터 "c"를 찾아 그 위치인 3을 반환하므로, 결과가 2라는 설명은 옳지 않다. "Access"의 세 번째 글자가 바로 c이다.
Mid("Access 2021", 8, 4)는 8번째 글자부터 4자를 잘라 2021을, Left("Access 2021", InStr("Access 2021"," ")-1)은 공백 앞까지인 Access를 반환한다. Right("Access 2021", Len("Access 2021")-7)은 전체 11자에서 7을 뺀 4자를 뒤에서 잘라 2021을 반환한다는 설명도 옳다.