DES는 암호화와 복호화에 같은 키를 쓰는 대칭키(비밀키) 암호화 방식의 대표적인 알고리즘이며, 공개키(비대칭) 암호화의 대표 예로는 RSA 등을 든다.
따라서 공개키 암호화 기법의 대표적 예로 DES를 드는 설명은 옳지 않다.
공개키 방식이 알고리즘이 복잡해 암·복호화 속도가 느린 점, 키 분배가 쉽고 관리할 키 수가 적은 점, 암호화 키는 공개하고 복호화 키는 비밀로 유지하는 점은 옳은 설명이다.
Nslookup은 DNS 서버에 질의하여 특정 도메인의 IP 주소(또는 IP에 대응하는 도메인)를 확인해 주는 서비스이다.
Gopher는 메뉴 방식의 문서 검색 서비스, Archie는 익명 FTP 파일 검색 서비스, IRC는 실시간 채팅 서비스로 도메인의 IP 주소 검색과는 관련이 없다.
여러 종류의 미디어(텍스트·그래픽·사운드·동영상·애니메이션 등)를 함께 처리하는 특징은 통합성(Integration)이며, 비선형성(Non-Linear)은 사용자의 선택에 따라 정보를 순서와 관계없이 처리하는 특성을 가리킨다.
따라서 여러 미디어를 통합 처리하는 특징을 비선형성이라고 부르는 설명은 옳지 않다.
스트리밍 기술이 다운로드와 재생을 동시에 하는 기술이라는 점, 코덱이 동영상·사운드 파일을 압축·해제하는 기술을 통칭한다는 점, 정보 제공자와 사용자 간 상호작용에 의한 쌍방향성이 있다는 점은 옳은 설명이다.
중앙처리장치와 입출력장치 사이의 속도 차이를 완충해 해결해 주는 장치는 채널제어장치이다.
채널은 입출력 작업을 CPU 대신 처리하여 CPU가 상대적으로 느린 입출력장치를 직접 기다리지 않도록 하는 역할을 한다.
응용 프로세스 간의 정보 교환이나 파일 전송 같은 전송 제어 기능은 응용 계층의 역할이며, 데이터 링크 계층의 기능이 아니다.
데이터 링크 계층은 흐름 제어, 프레임의 시작과 끝을 구분하는 동기화, 프레임의 순차 전송을 위한 순서 제어와 같이 인접한 두 노드 사이의 전송을 담당한다.
POP3는 메일 서버에 도착한 메일을 사용자 컴퓨터로 가져와 관리할 수 있게 해 주는 프로토콜이다.
사용자가 작성한 메일을 다른 사람의 메일 서버로 전송하는 역할은 SMTP가 담당하며, 웹 브라우저가 처리하지 못하는 멀티미디어 파일을 실행해 주는 것은 플러그인, 메일을 패킷으로 나누어 경로를 결정하는 것은 TCP/IP 계층의 역할로 POP3의 기능과는 다르다.
네트워크 프로토콜은 패킷 수를 조절하는 흐름 제어, 송수신기 상태를 맞추는 동기화, 전송 중 오류를 잡아내는 에러 검출 기능을 담당한다.
반면 네트워크 기반 하드웨어의 연결 문제 자체를 해결하는 것은 물리적인 장비·배선 점검의 문제이며, 프로토콜이 수행하는 논리적 통신 규약의 기능에는 해당하지 않는다.
응용 프로그램의 실행 파일이나 그림 파일처럼 텍스트가 아닌 이진 데이터를 전송할 때는 Binary Mode가 적합하다.
ASCII Mode는 텍스트 파일 전송에 적합한 모드이며, Posting Mode와 Stay Mode는 FTP의 전송 모드가 아니다.
클럭 주파수가 높을수록 연산 속도가 빠르므로, "클럭 주파수가 적을수록 연산 속도가 빠르다"는 설명은 반대로 서술된 것이다.
CPU는 클럭 주기에 따라 명령을 수행하며, 클럭 주파수가 높을수록 단위 시간에 더 많은 명령을 처리할 수 있어 연산 속도가 빠르다.
전류의 흐름이 반복되는 것을 클럭 주파수라 하는 점, GHz 단위를 사용하며 1Hz가 1초에 1번의 주기를 의미하는 점, 메인보드에 공급되는 클럭이 CPU 속도에 맞게 적용되어야 안정적으로 구동되는 점은 옳은 설명이다.
온도·전압·진동처럼 연속적으로 변하는 데이터를 처리하는 것은 아날로그 컴퓨터의 특징이며, 디지털 컴퓨터는 0과 1의 비트로 표현되는 이산적인 데이터를 처리한다.
따라서 연속적인 데이터를 효율적으로 처리한다는 설명을 디지털 컴퓨터의 특징으로 드는 것은 옳지 않다.
이산적인 데이터를 처리하는 점, 프로그램에 의해 동작하는 점, 산술·논리 연산 회로에 기반한 범용 컴퓨터로 쓰이는 점은 디지털 컴퓨터의 실제 특징이다.
FTP는 파일을 주고받는 파일 전송 서비스이며, 서버에 있는 프로그램을 접속 후 서버에서 바로 실행시키는 기능은 제공하지 않는다.
파일을 전송·수신·삭제·이름 바꾸기 할 수 있는 점, 계정이 없는 익명 사용자도 이용할 수 있는 점, 그림 파일은 Binary 모드로 텍스트 파일은 ASCII 모드로 전송하는 점은 FTP의 실제 특징이다.
- 허브나 리피터 등의 전기적 신호를 재발생 시키는 장비
- MODEM, CODEC 등 디지털/아날로그 신호변환기
보기의 장비들이 속한 계층은 물리 계층이다. 물리 계층은 전기적·기계적 신호를 전송하는 가장 아래 계층이다.
보기에서 설명하는 장비는 두 가지다. 하나는 전기적 신호를 재발생시키는 허브·리피터이고, 다른 하나는 디지털과 아날로그 신호를 바꾸는 MODEM·CODEC이다. 둘 다 주소를 해석하지 않고 신호 자체만 처리한다.
- 데이터 링크 계층: 브리지, 스위치
- 네트워크 계층: 라우터
- 전송 계층: 종단 간 신뢰성 제어를 담당하며, 대표 장비가 아니라 TCP·UDP 같은 프로토콜이 해당한다.
- 클래스가 존재하지 않으며 변수선언도 필요 없다.
- 소스코드가 HTML 문서에 포함되어 있다.
- 사용자의 웹 브라우저에서 직접 번역되고 실행된다.
설명에 맞는 언어는 JavaScript이다. 제시된 특성은 세 가지다. 클래스가 없고 변수 선언도 필요 없으며, 소스 코드가 HTML 문서 안에 들어 있고, 사용자 웹 브라우저가 직접 해석해 실행한다. 모두 클라이언트 측 스크립트 언어의 특징이다.
- CGI: 웹 서버가 외부 프로그램을 실행해 결과를 돌려주는 서버 측 인터페이스이다.
- XML: 사용자가 태그를 정의하는 데이터 기술용 마크업 언어이며, 프로그래밍 언어가 아니다.
- ASP: 서버에서 실행되어 결과 HTML만 브라우저로 보내는 서버 측 스크립트이다.
펌웨어는 하드웨어 교체 없이도 갱신할 수 있도록 ROM 등 비휘발성 메모리에 저장되어 관리되며, RAM에 저장되어 휘발성을 가진다는 설명은 옳지 않다.
하드웨어의 동작을 지시하면서도 하드웨어의 일부로 볼 수 있는 점, 소프트웨어 업그레이드만으로 성능을 높이는 하드웨어·소프트웨어의 중간적 성격을 갖는 점, 기계어 처리·데이터 전송·부동소수점 연산·채널 제어 등의 처리 루틴을 갖는 점은 펌웨어의 실제 특징이다.
다음 중 컴퓨터의 BIOS(UEFI 펌웨어)에 관한 설명으로 옳지 않은 것은?
가상 메모리로 사용할 페이징 파일의 크기와 위치는 Windows의 시스템 설정(고급 시스템 설정)에서 지정하는 항목이며, 펌웨어 설정 화면과는 관련이 없다.
즉 펌웨어 설정 화면에서만 지정되고 Windows 안에서 변경할 수 없다는 설명은 옳지 않다.
전원을 켜면 POST 과정으로 하드웨어를 점검한 뒤 운영체제를 읽어 들이는 점, 플래시 메모리에 저장되어 롬 칩 교체 없이 업데이트로 갱신할 수 있는 점, 시스템 날짜·부팅 순서·보안 부팅 등을 설정하고 그 값이 CMOS(NVRAM)에 보관되는 점은 옳은 설명이다.
다음 중 Windows 10에서 파일이나 폴더를 검색하는 방법에 대한 설명으로 옳지 않은 것은?
[검색 저장]으로 저장된 검색은 저장 당시의 검색 조건을 다시 실행하는 것이므로, 이후 그 조건에 맞는 파일이 새로 추가되면 저장된 검색을 열었을 때 함께 표시된다.
따라서 저장 시점의 결과 목록이 고정되어 이후 추가된 파일이 표시되지 않는다는 설명은 옳지 않다.
작업 표시줄 검색 상자에서 이 PC의 항목과 웹 검색 결과가 함께 표시되는 점, 파일 탐색기 검색이 하위 폴더까지 검색하고 [검색 도구] 탭에서 조건으로 결과를 좁힐 수 있는 점, 와일드카드 *와 ?를 사용할 수 있고 색인 위치를 [설정]-[검색]에서 바꿀 수 있는 점은 옳은 설명이다.
Windows 10의 [설정]-[앱]-[기본 앱]에서는 인터넷·미디어 서비스별로 기본으로 사용할 앱을 지정할 수 있다. 다음 중 이 화면에 항목으로 제공되어 기본 앱을 바로 지정할 수 있는 서비스가 아닌 것은?
[설정]-[앱]-[기본 앱] 화면에서 기본 앱을 바로 지정할 수 있는 항목은 메일, 지도, 음악 플레이어, 사진 뷰어, 비디오 플레이어, 웹 브라우저 등이며, HTML 편집기는 이 화면에서 제공하는 서비스 항목이 아니다.
다음 중 Windows 10의 [설정]-[앱]-[앱 및 기능]에서 할 수 있는 작업에 대한 설명으로 옳지 않은 것은?
[앱 및 기능]에서 앱을 [제거]하면 앱이 시스템에서 제거(삭제)될 뿐 앱 파일이 휴지통으로 이동하지 않으므로, 휴지통에서 복원할 수 없다. 다시 사용하려면 앱을 새로 설치해야 한다.
설치된 앱을 이름·크기·설치 날짜순으로 정렬하거나 특정 드라이브 기준으로 필터링할 수 있는 점, Microsoft Store 앱을 [이동]으로 다른 드라이브로 옮길 수 있는 점, [선택적 기능]과 [Windows 기능 더 보기]에서 인터넷 정보 서비스 등의 기능을 추가·제거할 수 있는 점은 옳은 설명이다.
다음 중 Windows 10의 [설정]-[업데이트 및 보안]-[Windows 업데이트]에 대한 설명으로 옳지 않은 것은?
[Windows 업데이트]의 [고급 옵션]에는 업데이트를 영구적으로 완전히 차단하는 스위치가 제공되지 않으며, 업데이트는 일정 기간 미루는 일시 중지만 가능하다.
[업데이트 일시 중지]가 일정 기간만 설치를 미룰 수 있고 일시 중지 한도에 도달하면 새 업데이트를 설치해야 하는 점, [사용 시간 변경]으로 지정한 시간에는 자동 재시작이 일어나지 않는 점, [업데이트 기록 보기]에서 설치 목록을 확인하고 문제가 있는 업데이트를 제거할 수 있는 점은 옳은 설명이다.
다음 중 Windows 10의 [Windows 보안] 앱에서 제공하는 보호 기능에 대한 설명으로 옳지 않은 것은?
[바이러스 및 위협 방지 설정]에서 실시간 보호를 끄면 보안을 위해 일정 시간이 지난 뒤 자동으로 다시 켜지며, 사용자가 다시 켤 때까지 계속 꺼진 상태로 유지되는 것은 아니다.
도메인·개인·공용 네트워크별로 방화벽을 켜거나 끄고 특정 앱의 통신을 허용할 수 있는 점, 바이러스 및 위협 방지 검사에 빠른 검사·전체 검사·사용자 지정 검사·오프라인 검사가 있는 점, 제어된 폴더 액세스로 허용되지 않은 앱의 보호된 폴더 파일 변경을 차단하는 점은 옳은 설명이다.
Formula 속성에 3 * 4처럼 산술식을 대입하면 VBA가 등호 우측을 먼저 계산한 결과값을 셀에 입력하므로, [A1] 셀에는 수식 '=3*4'가 아니라 연산 결과가 들어간다.
즉 3 * 4는 코드 실행 시점에 12로 계산되고, 그 값 12가 Formula 속성에 전달되어 셀에 저장되므로 수식 문자열 그대로 입력된다는 설명은 사실과 다르다.
나머지 코드는 각각 셀 포인터 이동, 글꼴 굵게 설정, 새 통합 문서 생성 동작을 정확하게 설명하고 있다.

결과가 다른 것은 =IFERROR(ISERR(B3),"ERROR")이다. 이 식만 FALSE이고 나머지 셋은 TRUE를 표시한다.
시트 값은 B2=1, B3=#N/A, B4=3, B5=TRUE, B6=5이다(A열은 바나나·오렌지·사과·배·귤).
- ISERR(B3): ISERR은 #N/A를 제외한 오류만 TRUE로 판정하므로 FALSE이다. 오류가 아니므로 IFERROR는 FALSE를 그대로 표시한다.
- ISERROR(B3): ISERROR는 #N/A를 포함한 모든 오류를 TRUE로 판정하므로 TRUE이다.
- ISLOGICAL(B5): B5는 논리값 TRUE이므로 TRUE이다.
- IF(ISNUMBER(B4),TRUE,"ERROR"): B4=3은 숫자이므로 TRUE이다.

'부사장'을 출력하지 않는 것은 =CHOOSE(CELL("row",B3), C2, C3, C4, C5, C6)이다. 이 식의 결과는 영업 사원이다.
시트의 C열(직함)은 C2 영업 과장, C3 부사장, C4 영업 사원, C5 영업 사원, C6 영업 부장이다. A3은 102, B4는 김진수이다.
- CELL("row",B3)=3이므로 CHOOSE의 세 번째 값인 C4, 즉 '영업 사원'이 나온다.
- TYPE(B4): B4가 텍스트이므로 2가 되고, 두 번째 값인 C3 '부사장'이 나온다.
- OFFSET(A1:A6,2,2,1,1): A1에서 아래로 2행, 오른쪽으로 2열 이동한 1×1 셀인 C3 '부사장'이다.
- INDEX(A2:D6, MATCH(A3,A2:A6,0), 3): MATCH 결과는 2이므로 A2:D6의 2행 3열인 C3 '부사장'이다.

화면은 페이지 나누기 미리 보기 상태의 워크시트로, 굵은 파란 선이 시트를 가로세로로 잘라 인쇄 영역을 나누고 각 영역 배경에 '4 페이지', '5 페이지'처럼 페이지 번호가 흐리게 표시되어 있다. 이 파란 선이 바로 페이지 분할선이다.
끌어서 조정하거나 삽입한 페이지 나누기를 없애고 자동으로 계산된 원래 상태로 되돌리려면, 시트에서 마우스 오른쪽 버튼을 눌러 나타나는 메뉴에서 [페이지 나누기 모두 원래대로]를 선택한다. 시트 전체의 페이지 나누기 설정이 한 번에 초기화된다.
페이지 설정은 용지 방향·여백·배율 등을 지정하는 대화 상자를 여는 명령이고, 인쇄 영역 설정과 인쇄 영역 다시 설정은 인쇄할 범위를 지정하거나 다시 잡는 기능이어서 분할선 자체를 해제하지는 못한다.

그림은 [보기] 탭의 [창] 그룹으로 새 창, 모두 정렬, 틀 고정, 나누기, 숨기기, 숨기기 취소 명령이 배치되어 있다(숨겨진 창이 없어 '숨기기 취소'는 흐리게 비활성화되어 있다).
[새 창]은 빈 통합 문서를 새로 만드는 명령이 아니라, 현재 작업 중인 통합 문서를 새로운 창에 하나 더 여는 명령이다. 실행하면 같은 문서가 두 개의 창으로 열리고 제목 표시줄에 '문서이름:1', '문서이름:2'처럼 번호가 붙어, 같은 문서의 서로 다른 부분을 동시에 볼 수 있다. 어느 창에서 편집하든 같은 문서이므로 내용이 함께 바뀐다. 새 빈 통합 문서를 만드는 것은 [파일]-[새로 만들기]이다.
나머지 설명은 옳다. [모두 정렬]은 열려 있는 통합 문서 창을 바둑판식·계단식·가로·세로 네 가지 형태로 배열하고, [숨기기]는 현재 활성화된 통합 문서 창을 화면에서 보이지 않게 감추며, [나누기]는 활성 셀을 기준으로 워크시트를 최대 4개의 창으로 분할해 멀리 떨어진 부분을 한 화면에서 볼 수 있게 한다.
부분합은 합계·평균·개수 등 미리 정의된 요약 함수 중에서 선택해 사용하는 기능으로, 사용자가 새로운 계산식이나 수식을 직접 만들어 넣을 수는 없다.
부분합을 실행하려면 표의 첫 행에 열 이름표가 있어야 하고 그룹화할 항목을 기준으로 데이터가 미리 정렬되어 있어야 하며, 요약값은 내부적으로 SUBTOTAL 함수로 계산된다.
부분합을 제거하면 함께 삽입되었던 윤곽 기호와 페이지 나누기도 같이 사라진다.

Do Until ~ Loop는 조건이 참이 될 때까지 반복하는 구문이므로, Test가 10보다 커질 때까지 Test = Test + 1을 반복한다. Test는 0→1→2→...→10까지는 조건(Test>10)이 거짓이라 계속 반복되며, Test가 11이 되는 순간 조건이 참이 되어 반복을 종료한다. 따라서 [A1] 셀에는 11이 입력된다.
매월 말 상환 조건이므로 이자율과 기간을 모두 월 단위로 맞춘 =PMT(5.5%/12, 24, -10000000) 형태가 옳은 수식이다.
대출금 10,000,000원은 받는 시점 기준으로 음수로 넣어야 결과인 월 불입액이 양수로 계산된다.
이자율에 12를 나누지 않은 식은 연이율을 그대로 월이율처럼 사용한 오류이고, 마지막 인수를 1로 넣은 식은 매월 초 상환을 뜻하게 되어 매월 말 상환이라는 조건과 맞지 않는다.
3차원 참조는 여러 시트의 동일한 셀이나 범위를 하나의 수식으로 참조하는 방법이지만, 배열 수식에는 사용할 수 없다는 제약이 있다.
Sheet2부터 Sheet4까지처럼 시트 이름 사이에 콜론을 넣어 범위를 지정하고 그 뒤에 셀 주소를 붙이는 방식으로 표현하며, SUM·AVERAGE·COUNTA·STDEV 등 다양한 집계 함수와 함께 쓸 수 있다.
다만 3차원 참조를 배열 수식의 인수로 사용하면 정상적으로 동작하지 않으므로, 배열 수식에도 사용할 수 있다는 설명은 사실과 다르다.
- 데이터의 불규칙한 간격이나 묶음을 보여주는 것으로, 주로 과학, 공학용 데이터 분석에 사용된다.
- 3차원 차트로 작성할 수 없다.
- 데이터 요소 간의 차이점보다는 큰 데이터 집합 간의 유사점을 표시하려는 경우에 사용한다.




설명에 해당하는 차트는 분산형(XY) 차트이다. 보기 중 선 없이 점만 흩어져 찍힌 아이콘이 이에 해당한다.
분산형 차트는 X·Y 값을 좌표로 찍어 데이터의 불규칙한 간격이나 묶음을 보여 준다. 주로 과학·공학 데이터 분석에 쓰이고 3차원으로는 만들 수 없다.
- 점을 선으로 이은 아이콘은 꺾은선형 차트로, 일정한 간격의 추세를 나타낸다.
- 세로 막대에 가로 눈금이 붙은 아이콘은 주식형 차트로, 고가·저가·종가를 나타낸다.
- 선 아래를 색으로 채운 아이콘은 영역형 차트로, 시간에 따른 변화량의 크기를 강조한다.
여러 시트에 걸친 3차원 참조는 시트 이름 사이에만 콜론을 쓰고 그 뒤에 셀 주소를 한 번만 적는 형식이어야 하므로, 시작 시트와 끝 시트 각각에 셀 주소를 붙여 범위처럼 표기하는 방식은 성립하지 않는다.
즉 시트마다 셀 주소를 붙여 콜론으로 연결하는 형태는 올바른 3차원 참조 문법이 아니다.
시트 이름을 콜론으로 묶고 셀 주소를 한 번만 붙인 형태, 각 시트의 셀을 쉼표로 나열한 형태, 3차원 참조와 개별 참조를 쉼표로 혼용한 형태는 모두 올바른 참조 방식이다.

매 페이지마다 같은 제목을 인쇄하려면 [페이지 설정] 대화상자의 [시트] 탭에 있는 '인쇄 제목' 항목을 사용한다. 반복할 대상이 행이면 '반복할 행', 열이면 '반복할 열'에 지정하며, 행 전체를 가리킬 때는 열 문자 없이 $1:$3 형식으로 적는다.
제목으로 쓸 [A1:G3]은 1행부터 3행까지에 걸쳐 있으므로 결국 1~3행 전체를 반복하면 된다. 따라서 '반복할 행'에 $1:$3을 입력한다. 범위를 마우스로 끌어 지정하면 이 형태가 자동으로 채워진다.
'인쇄 영역'은 출력할 범위를 정할 뿐 제목 반복과는 무관하다. 또 머리글/바닥글은 용지 여백 영역에 문자열을 넣는 기능이라 셀 범위를 지정할 수 없어, 머리글 칸에 $1:$3이나 A:G를 넣어도 제목 행이 반복 인쇄되지 않는다.
등의 윤곽 기호가 표시되지 않는 경우 [Excel 옵션]에서 표시되도록 설정할 수 있다.윤곽(그룹) 기능은 데이터 목록을 계층으로 묶어 접었다 펴는 기능으로, 최대 8개 수준 까지 설정할 수 있다. 그룹을 접고 펴는 1·2 수준 단추와 +/− 기호 가 시트에 나타나지 않으면 [Excel 옵션]-[고급]의 '윤곽을 설정한 경우 윤곽 기호 표시'를 켜서 다시 보이게 할 수 있고, 윤곽을 만들기 전이나 만든 뒤에 스타일을 적용 하는 것도 가능하다.
옳지 않은 설명은 윤곽을 제거하면 원본 데이터까지 사라진다고 본 것이다. [데이터]-[윤곽선]-[그룹 해제]-[윤곽 지우기]는 화면의 윤곽 기호와 그룹 설정만 없앨 뿐, 요약 행과 그 아래 감춰져 있던 데이터는 그대로 남는다.
실제로 데이터를 지우려면 부분합 대화상자의 [모두 제거]로 요약 행을 없애거나 행을 직접 삭제해야 한다. 윤곽 지우기와 데이터 삭제는 서로 다른 작업임을 구분해 두면 된다.
매월 말 상환 조건이므로 연이율과 기간을 각각 12로 나누고 곱해 월 단위로 맞춘 =PMT(6.5%/12, 3*12, -30000000) 형태가 옳으며, 대출금을 음수로 넣어야 결과값이 양수로 나온다.
연이율을 그대로 사용한 식은 월 단위 계산과 맞지 않고, IPMT 함수는 특정 회차의 이자 상환액만 구하는 함수이므로 매월 불입액(원금+이자) 전체를 구하는 이 문제의 목적과는 다르다.
문자열이 셀 너비보다 길 때 글꼴 크기를 자동으로 줄여 한 줄에 표시하는 기능은 셀 서식의 맞춤 탭에 있는 '셀에 맞춤' 옵션이다.
'텍스트 줄 바꿈'은 글자 크기를 줄이지 않고 여러 줄로 나누어 표시하는 기능이고, '셀 병합'은 인접한 셀들을 하나로 합치는 기능, '균등 분할'은 텍스트를 셀 너비에 맞춰 균등하게 배분하는 기능으로 글꼴 크기 축소와는 관련이 없다.

[D10]에 들어갈 수식은 {=AVERAGE(IF(B2:B8="판매1부",D2:D8))}이다. 부서명이 판매1부인 행의 수량만 골라 평균을 낸다.
시트의 판매1부 행은 A001(150), A004(130), A007(119)이다.
평균 = (150+130+119)÷3 = 399÷3 = 133이며, [D10]에 표시된 133과 일치한다.
- B2:B8=A10을 쓰면 A10의 값이 '판매1부의 평균수량 :'이므로 일치하는 행이 없다.
- B2:B8=B1:B2나 A2:D8=B1:B2처럼 비교 범위의 크기가 서로 맞지 않는 식은 판매1부 조건을 제대로 걸 수 없다.
Home 키는 현재 셀이 위치한 행의 시작 부분(해당 행의 A열)으로 이동하는 키이므로, 열의 시작 부분으로 이동한다는 설명은 옳지 않다.
Ctrl+화살표 키는 현재 데이터 범위에서 해당 방향의 끝(모서리)으로 이동하고, Ctrl+Home은 워크시트의 시작 셀로, Ctrl+PageDown은 다음 시트로 이동하는 것이 맞는 동작이다.
다음 중 Excel에서 통합 문서를 저장할 때 선택할 수 있는 파일 형식과 확장자에 대한 설명으로 옳지 않은 것은?
매크로가 포함된 통합 문서를 .xlsx로 저장하면 매크로 코드는 사라진다. .xlsx는 매크로를 지원하지 않는 형식이므로, 매크로 사용 형식(.xlsm) 없이 .xlsx로 저장하면 매크로가 제거된 채 저장된다.
매크로를 유지하려면 XML 기반의 매크로 사용 형식인 .xlsm으로 저장해야 하고, 이진 형식인 .xlsb 역시 매크로를 포함할 수 있으면서 대용량 파일을 빠르게 처리할 수 있다.
서식 파일 형식인 .xltx에 매크로를 넣으려면 매크로 사용 서식 파일 형식인 .xltm으로 저장해야 한다는 설명도 맞는 내용이다.
다음 중 아래 워크시트에서 각 수식의 결과가 옳지 않은 것은?

결과가 옳지 않은 것은 =COUNTIFS(B2:B7, "영업2", C2:C7, "<>사원") → 3이다. 실제 결과는 2이다.
시트 값(사원명·부서·직급·판매액)은 다음과 같다. 김민수·영업1·대리·1200, 이서연·영업2·과장·1500, 박지훈·영업1·사원·800, 최유진·영업2·대리·1100, 정하늘·영업1·과장·1700, 강도윤·영업2·사원·900.
- 영업2이면서 사원이 아닌 사람은 이서연(과장)과 최유진(대리)뿐이다. 강도윤은 사원이라 빠지므로 결과는 2이다.
- SUMIFS(영업1, 판매액>=1000) = 1200+1700 = 2900으로 옳다.
- SUMIFS(대리, 영업*) = 1200+1100 = 2300으로 옳다.
- COUNTIFS(>1000, <1500) → 1200과 1100이 해당하고 1500은 빠지므로 2로 옳다.
다음 중 아래 워크시트에서 각 수식의 결과로 옳지 않은 것은? (단, [C1] 셀은 비어 있다.)

결과가 옳지 않은 것은 =TEXTJOIN("-", FALSE, A1:D1)이다. 두 번째 인수가 FALSE이면 빈 셀도 포함하므로 결과는 서울-강남구--역삼동이다.
시트 값은 A1=서울, B1=강남구, C1=(빈 셀), D1=역삼동이다.
- CONCAT(A1:D1) → 빈 셀은 아무것도 붙이지 않으므로 서울강남구역삼동이다.
- TEXTJOIN(" ", TRUE, A1:D1) → 빈 셀을 무시하므로 서울 강남구 역삼동이다.
- TEXTJOIN(", ", TRUE, A1, D1) → 서울, 역삼동이다.
보고서 마법사의 요약 옵션은 정렬 순서 지정 단계에서 설정하지만, 그룹 수준별로 요약값이 계산되므로 그룹 수준과 무관하다는 설명은 옳지 않다.
텍스트 속성 필드만으로 이루어진 테이블에는 숫자를 요약할 대상이 없어 요약 옵션 자체가 나타나지 않으며, 요약 옵션으로는 합계·평균·최대값·최소값을 구할 수 있다.
테이블 간의 관계가 미리 설정되어 있으면 서로 다른 테이블에 있는 필드들도 함께 보고서 원본으로 사용할 수 있다.
Access 보고서에서 필드나 식을 기준으로 그룹화할 수 있는 수준은 최대 5단계가 아니라 최대 10단계까지 지정할 수 있으므로, 최대 5단계로 제한된다는 설명은 옳지 않다.
그룹은 그룹 머리글·세부 레코드·그룹 바닥글로 구성되며, 날짜 필드는 일·주·월·분기·연도 등을 기준으로, 문자 필드는 전체 값이나 처음 1~5자를 기준으로 그룹화할 수 있다.
그룹 머리글에 Sum 함수를 사용하는 계산 컨트롤을 추가하면 해당 그룹의 합계를 표시할 수 있다.
선택 쿼리는 조건에 맞는 데이터를 단순히 조회만 하는 쿼리로, 테이블의 데이터를 실제로 변경하지 않으므로 실행 쿼리에 해당하지 않는다.
테이블 만들기 쿼리, 추가 쿼리, 업데이트 쿼리는 모두 쿼리를 실행하는 순간 테이블의 데이터를 새로 만들거나 추가하거나 수정하는 실행 쿼리(액션 쿼리)에 속한다.

그림의 '학생' 폼은 학번·성명·전화번호 컨트롤이 같은 배치로 위아래에 여러 벌 반복되어, 학번 0021004·0022001·0022018 등 여러 레코드가 한 화면에 동시에 표시되고 있다. 이런 표시 형태가 연속 폼이다.
단일 폼은 화면에 한 번에 레코드 하나만 보여 주므로 그림처럼 같은 컨트롤 묶음이 반복되지 않고, 데이터 시트는 행과 열의 표 형태로 나타나므로 필드 이름이 각 레코드마다 세로로 되풀이되지 않는다.
연속 폼은 본문 영역에 배치한 컨트롤이 레코드 수만큼 반복 출력되는 방식이라, 여러 레코드를 목록처럼 훑어보면서 곧바로 편집해야 할 때 쓴다. 아래쪽 레코드 이동 단추가 함께 보이는 점도 폼 보기임을 알려 준다.
쿼리를 텍스트 파일로 내보내면 쿼리를 실행한 결과 데이터(레코드)가 저장되는 것이며, 쿼리에 사용된 SQL문 자체가 텍스트로 저장되는 것은 아니다.
Access의 개체는 Excel, Word 등 다양한 형식으로 내보낼 수 있고, 테이블·쿼리·폼·보고서 모두 텍스트 파일로 내보내는 것이 가능하다.
테이블과 쿼리를 내보낼 때는 서식과 레이아웃을 포함한 전체 개체를 내보내거나, 서식 없이 데이터만 내보내는 방식을 선택할 수 있다.
보고서의 레코드 원본은 테이블, 쿼리, SQL 구문으로 지정할 수 있지만 폼은 보고서의 원본으로 사용할 수 없다.
폼은 데이터를 입력·조회하기 위한 화면 개체이지 데이터를 제공하는 원본 자체가 아니므로, 보고서의 레코드 원본 목록에는 테이블과 쿼리, 직접 작성한 SQL 구문만 지정할 수 있다.
더블 클릭(On Dbl Click)은 마우스 동작에 반응하는 마우스 이벤트이지, 데이터 값의 변화에 반응하는 데이터 이벤트가 아니다.
Before Update와 After Update는 데이터가 갱신되기 전과 후에 발생하는 이벤트이고, On Change는 텍스트 상자 등의 내용이 바뀔 때 발생하는 이벤트로 모두 데이터 이벤트에 속한다.
전체 페이지가 3, 현재 페이지가 1일 때 =[Page] & "/" & [Pages] & "페이지" 식은 현재 페이지 번호와 전체 페이지 번호를 순서대로 이어붙여 "1/3페이지"라는 결과를 만들어내므로 옳은 연결이다.
[Page]만 단독으로 쓰면 결과는 현재 페이지 번호인 1이지 전체 페이지 수인 3이 아니며, Format([Page], "000")처럼 세 자리로 표시 형식을 지정하면 1은 "001"로 표시되어 다른 값과는 차이가 있다.
&는 문자열을 이어 붙이는 연결 연산자일 뿐 그 기호 자체가 결과에 그대로 남지 않으므로, 결합 기호가 결과 문자열 안에 그대로 나타난다는 설명은 실제 동작과 다르다.

실행할 수 없는 쿼리는 INSERT INTO SERVICE(등급, 비용) VALUES ('C', 7000);이다. 기본키인 번호 필드에 값을 넣지 않았기 때문이다.
<SERVICE> 테이블의 필드는 등급(텍스트), 비용(숫자), 번호(숫자)이며, 번호가 기본키로 지정되어 있다. 기본키에는 Null을 넣을 수 없으므로 번호를 빼고 레코드를 추가하면 오류가 난다.
- UPDATE SERVICE SET 등급='C' WHERE 등급='D'; → 텍스트 필드 값을 바꾸는 것이므로 실행된다.
- INSERT INTO SERVICE(등급, 비용, 번호) VALUES('A', 10000, 10); → 기본키 값까지 넣으므로 실행된다.
- UPDATE SERVICE SET 비용=비용*1.1; → 숫자 필드를 계산해 수정하므로 실행된다.
Where 재학생.학번 = 졸업생.학번;
JOIN Select 학번, 이름, 전화번호 From 졸업생;
OR Select 학번, 이름, 전화번호 From 졸업생;
UNION Select 학번, 이름, 전화번호 From 졸업생;
필드 구성이 동일한 두 테이블의 레코드를 하나로 합쳐 나타내려면 UNION 연산자로 두 SELECT문의 결과를 합집합으로 결합해야 한다.
WHERE절로 두 테이블의 학번을 비교하는 식은 조인(JOIN) 방식이라 공통된 학번을 가진 레코드만 남기게 되어 두 테이블 전체를 합치는 목적과 다르고, SELECT문 안에 다시 SELECT문을 JOIN이나 OR로 직접 연결하는 문법은 성립하지 않는다.
컨트롤 원본은 콤보 상자의 값을 테이블이나 쿼리의 어떤 필드에 저장할지 지정하는 속성이고, SQL문이나 테이블명으로 목록에 표시할 데이터를 지정하는 것은 행 원본 속성의 역할이다.
행 원본 유형은 목록 데이터를 '테이블/쿼리', '값 목록', '필드 목록' 중 어떤 방식으로 가져올지 정하는 속성이고, 바운드 열은 선택한 항목 중 몇 번째 열의 값을 실제로 저장할지 정하는 속성이다.
목록 값만 허용 속성을 '예'로 설정하면 목록에 없는 값은 입력할 수 없게 제한된다.
txt날짜_DblClick과 같이 컨트롤 이름과 이벤트 이름을 밑줄로 결합한 프로시저는 해당 컨트롤에서 그 이벤트가 실제로 발생할 때 자동으로 실행된다.
따라서 이 프로시저는 폼이 열릴 때나 값이 입력될 때가 아니라, txt날짜 컨트롤이 더블 클릭되는 순간에 실행된다.
조인에 사용되는 두 필드는 데이터 형식이 같거나 호환되어야 정상적으로 비교·연결할 수 있으므로, 형식이 다르거나 호환되지 않아도 조인이 가능하다는 설명은 옳지 않다.
내부 조인은 두 테이블에서 조인 필드 값이 일치하는 행만 반환하고, 외부 조인은 한쪽 테이블에만 있고 다른 쪽에는 대응하는 값이 없는 데이터까지 포함할지를 지정할 수 있다.
불일치 검색 쿼리는 한 테이블에는 있지만 다른 테이블에는 대응하는 레코드가 없는 데이터를 찾는 기능이라 비교할 테이블이 두 개 이상 필요하므로, 테이블이 하나뿐인 데이터베이스에서는 마법사로 만들 수 없다.
단순 쿼리, 중복 데이터 검색 쿼리, 크로스탭 쿼리는 모두 하나의 테이블만으로도 마법사를 이용해 만들 수 있는 쿼리이다.
폼 머리글은 폼을 구성하는 구역이지 보고서를 구성하는 구역이 아니므로, 보고서 구역과 가장 거리가 멀다.
보고서는 보고서 머리글·바닥글, 페이지 머리글·바닥글, 그룹 머리글·바닥글, 본문(세부 구역)으로 구성되며, 페이지 머리글과 그룹 머리글은 모두 보고서에서 실제로 사용되는 구역이다.
DBMS는 데이터베이스를 생성·관리하고 사용자의 요청을 처리하는 소프트웨어 시스템(프로그램)이지, 데이터 모델링을 수행하는 '데이터 언어' 그 자체는 아니다.
DBMS는 데이터의 종속성과 중복성 문제를 해결하기 위해 등장했고, 데이터베이스로부터 사용자의 질의에 대한 답을 추출해 주며, 응용 프로그램과 데이터 사이의 중재자로서 여러 응용 프로그램이 하나의 데이터베이스를 공유할 수 있게 관리한다.
'도서번호'는 문제에서 입력되지 않는 경우도 있다고 했으므로 값이 비어 있을 수 있는데, 기본 키(PK)는 값이 반드시 입력되어야 하므로 이 필드를 기본 키로 설정하는 것은 옳지 않다.
반드시 값이 입력되는 '도서명' 필드를 필수 항목으로 지정하는 것은 적절하고, 외래키인 '출판사코드'는 참조하는 [출판사] 테이블의 '출판사' 필드와 데이터 형식을 일치시켜야 하며, '대여료'는 숫자나 통화 형식으로 지정하는 것이 알맞다.
정규화는 단순히 불필요한 필드를 제거하는 작업이 아니라, 여러 테이블에 중복적으로 나타나는 필드를 일정한 규칙에 따라 분리해 데이터 중복을 최소화하는 작업이다.
정규화를 거치면 테이블 구조가 이해하기 쉽고 확장하기 쉬워지며 무결성 제약 조건을 구현하기도 쉬워지지만, 데이터 중복을 완전히 없앨 수 있는 것은 아니고 최소화하는 수준에 그친다.
아래의 [학생] 테이블과 [수강] 테이블에 대해 다음 SQL 문을 실행했을 때의 결과로 옳은 것은?
SELECT 이름 FROM 학생
WHERE 학번 NOT IN (SELECT 학번 FROM 수강 WHERE 과목 = '데이터베이스')
ORDER BY 이름;

[수강]에서 '데이터베이스'를 수강한 학번을 제외한 학생은 박민수, 최지우이다.
하위 질의 SELECT 학번 FROM 수강 WHERE 과목='데이터베이스'의 결과는 101, 102이다(101 데이터베이스 90점, 102 데이터베이스 85점).
[학생] 테이블(101 김철수, 102 이영희, 103 박민수, 104 최지우)에서 학번이 101·102가 아닌(NOT IN) 행은 103 박민수와 104 최지우이다.
ORDER BY 이름으로 오름차순 정렬하면 박민수, 최지우 순으로 표시된다.
아래의 [부서] 테이블과 [사원] 테이블에 대해 다음 SQL 문을 실행했을 때 반환되는 레코드의 수는? (단, 사원 테이블의 빈 칸은 Null 값이다.)
SELECT 부서명, 이름
FROM 부서 LEFT JOIN 사원 ON 부서.부서코드 = 사원.부서코드;

LEFT JOIN 결과 반환되는 레코드는 6개이다.
LEFT JOIN은 왼쪽 테이블인 [부서]의 레코드를 모두 포함하고, [사원]에 일치하는 레코드가 없으면 이름을 Null로 채운다.
- D1 영업: 김민아, 이준호 → 2행
- D2 총무: 정우성 → 1행
- D3 개발: 박서준 → 1행
- D4 기획: 일치 사원 없음 → 이름 Null로 1행
- D5 인사: 일치 사원 없음 → 이름 Null로 1행
부서코드가 Null인 최수빈은 어떤 부서와도 일치하지 않아 결과에 나타나지 않으므로 합계는 2+1+1+1+1 = 6이다.