옳지 않은 것은 RFID가 접촉식 식별 기술이라는 설명이다.
RFID는 태그와 판독기가 무선 주파수로 통신하는 비접촉식 인식 기술로, 떨어진 거리에서도 태그 정보를 읽을 수 있다.
- IC 칩과 무선으로 다양한 개체 정보를 관리한다 — 옳다.
- 충돌 방지 기능으로 여러 태그를 동시에 읽는다 — 옳다.
- 판독기와 태그로 구성된다 — 옳다.
옳은 것은 교환적 응집에 대한 설명이다.
교환적(통신적) 응집은 서로 다른 기능을 수행하는 요소들이 같은 입력 자료를 사용하거나 같은 출력 데이터를 만들어 내는 경우이다.
- 한 요소의 출력이 다른 요소의 입력이 되는 것은 기능적 응집이 아니라 순차적 응집이다.
- 논리적 응집은 유사한 성격의 기능을 한 모듈에 모은 것으로 응집도가 낮은 편이며, 가장 강한 것은 기능적 응집이다.
- 특정 순서에 따라 수행되는 연관 요소의 묶음은 절차적 응집에 해당한다.
옳지 않은 것은 캐시가 CPU와 보조기억장치 간의 속도 차이를 극복하기 위해 사용된다는 설명이다.
캐시는 CPU와 주기억장치 사이에 위치해 두 장치의 속도 차이를 줄인다.
- 계층 구조는 장치 간 속도 차이를 효율적으로 해결하도록 구성한다 — 옳다.
- 계층이 높을수록 용량은 작고 속도는 빠르다 — 옳다.
- 하드 디스크, CD-ROM, DVD는 보조기억장치이다 — 옳다.
옳지 않은 것은 송신장치가 수신장치의 데이터 수신 여부를 알 수 있다는 설명이다.
스트로브 방식은 하나의 제어선으로 데이터가 있다는 신호만 보내는 단방향 제어이므로 수신 확인이 없다. 수신 여부를 확인하려면 응답 신호를 주고받는 핸드셰이킹 방식이 필요하다.
- 스트로브는 송신 또는 수신 장치가 발생시킨다 — 옳다.
- 버스에 유효한 데이터가 있음을 알린다 — 옳다.
- 비동기 전송의 시점을 맞추기 위해 하나의 제어선을 쓴다 — 옳다.
이유로 거리가 먼 것은 I/O 장치가 CPU와 단방향으로 통신하기 때문이라는 설명이다.
I/O 장치는 입력과 출력, 상태 보고 등으로 CPU와 양방향으로 데이터를 주고받는다. I/O 장치를 버스에 직접 붙이지 않고 I/O 모듈(인터페이스)을 두는 이유는 장치들의 특성 차이 때문이다.
- 장치마다 제어 방법이 달라 CPU가 직접 제어하기 어렵다 — 타당한 이유이다.
- I/O 장치의 전송 속도가 CPU보다 훨씬 느리다 — 타당한 이유이다.
- 데이터 형식과 길이가 서로 다르다 — 타당한 이유이다.
옳지 않은 것은 XML이 웹 문서 구성 요소의 스타일을 정의하는 표준이라는 설명이다.
XML은 사용자가 태그를 정의해 데이터의 구조와 의미를 기술하는 마크업 언어이다. 스타일(표현)은 CSS나 XSL이 정의한다.
- 시맨틱 웹 등 차세대 웹 기술의 근간이다 — 옳다.
- 전자도서관·전자출판 등 문서 교환 분야에서 활용된다 — 옳다.
- 구조화된 표현으로 구조 기반 검색이 가능하다 — 옳다.
거리가 먼 것은 한 번 저장하면 주기적인 충전 없이 영구히 저장된다는 설명이다.
DRAM은 축전기의 전하로 정보를 저장하는데 전하가 서서히 누설되므로 주기적인 재충전(refresh)이 필요하며, 전원이 꺼지면 내용이 사라지는 휘발성 메모리이다.
- 축전기의 충전으로 정보를 저장한다 — 옳다.
- 가격이 싸고 소비 전력이 적다 — 옳다.
- 집적도가 높아 대용량 메모리에 적합하다 — 옳다.
직원
| 직원번호 | 이름 | 부서 |
|---|---|---|
| 10 | 김 | B20 |
| 20 | 이 | A10 |
| 30 | 박 | A10 |
| 40 | 최 | C30 |
부서
| 부서번호 | 부서명 |
|---|---|
| A10 | 기획과 |
| B20 | 인사과 |
| C30 | 총무과 |
정책
| 정책번호 | 정책명 | 제안자 |
|---|---|---|
| 100 | 인력양성 | 40 |
| 200 | 주택자금 | 20 |
| 300 | 친절교육 | 10 |
| 400 | 성과금 | 10 |
| 500 | 신규고용 | 20 |
다음 관계대수식을 적용한 결과의 카디널리티(cardinality)로 옳은 것은?
Π이름, 부서명, 정책명(부서 ⋈부서번호 = 부서(Π정책명, 이름, 부서(정책 ⋈제안자 = 직원번호 직원)))
결과 릴레이션의 카디널리티는 5이다.
안쪽부터 계산한다. 정책 ⋈제안자=직원번호 직원에서 정책 5개 행의 제안자(40, 20, 10, 10, 20)가 모두 직원 테이블에 있으므로 5개 행이 만들어진다.
이를 (정책명, 이름, 부서)로 투영해도 정책명이 모두 달라 5개 행이 유지되고, 부서와의 조인에서도 부서(A10, B20, C30)가 모두 부서번호에 있으므로 5개 행이다. 마지막 투영 역시 정책명이 서로 달라 중복 제거되는 행이 없다.
- 3 — 직원 부서 수(부서 테이블 행 수)와 혼동한 값이다.
- 4 — 직원 테이블 행 수와 혼동한 값이다.
옳지 않은 것은 리피터가 각 단말기를 연결하는 집선 장치로 분배기 역할을 한다는 설명이다.
리피터는 물리 계층에서 약해진 신호를 증폭·재생해 전송 거리를 늘리는 장치이다. 여러 단말을 모으는 집선 장치는 허브이다.
- 브리지는 데이터 링크 계층에서 프레임을 중계·필터링한다 — 옳다.
- 라우터는 네트워크 계층에서 최적 경로로 패킷을 전송한다 — 옳다.
- 게이트웨이는 서로 다른 형태의 네트워크를 연결한다 — 옳다.
옳은 것은 특정 목적을 위해 하드웨어와 소프트웨어로 구현된 전자 제어 시스템이라는 설명이다.
임베디드 시스템은 기기에 내장되어 정해진 기능을 수행하는 전용 시스템이며, 사용자 입력에 반응하는 등 상호작용도 가능하다.
- 다른 시스템에 항상 의존한다 — 독립적으로 동작하는 경우가 많다.
- 변경이 쉽고 다양한 용도의 소형 PC로 분류된다 — 특정 용도 전용이며 변경이 어렵다.
- 표준 단일 솔루션을 제공한다 — 적용 분야마다 맞춤형으로 설계된다.
옳지 않은 것은 개별 명령어의 실행 속도를 높인다는 설명이다.
파이프라이닝은 여러 명령어를 단계별로 겹쳐 실행해 처리율(throughput)을 높이는 것이지, 명령어 하나가 걸리는 시간을 줄이지는 않는다.
- 여러 명령어가 중첩 실행된다 — 옳다.
- 명령어 처리율을 향상시킨다 — 옳다.
- 한 명령어는 여러 단계에 걸쳐 여러 클럭 사이클이 필요하다 — 옳다.
작업 대기 큐: 139, 22, 175, 86, 13, 158
헤드 시작 위치: 47
처리 순서는 47→86→139→158→175→199→0→13→22이다.
헤드가 35에서 47로 왔으므로 트랙 번호가 커지는 방향으로 이동 중이다. C-SCAN은 한 방향으로만 서비스하며 끝(199)에 도달하면 처음(0)으로 돌아가 같은 방향으로 다시 서비스한다.
- 175 다음 바로 22→13으로 가는 순서 — 방향을 바꿔 내려오는 LOOK 방식이다.
- 47에서 22→13을 먼저 처리하는 순서 — 진행 방향과 반대이다.
- 199 다음 22→13 순서 — 끝에서 되돌아오며 서비스하는 SCAN 방식이다.
적절하지 않은 것은 DirectX가 멀티미디어 주변장치의 드라이버라는 설명이다.
DirectX는 게임·멀티미디어 프로그램이 그래픽·사운드 하드웨어를 쉽게 쓰도록 하는 마이크로소프트의 API(응용 프로그래밍 인터페이스) 모음으로, 장치 드라이버 위에서 동작한다.
- 드라이버는 운영체제와 하드웨어 사이의 제어용 소프트웨어 인터페이스이다 — 옳다.
- 표준화되지 않은 복잡한 장치일수록 전용 드라이버를 최신으로 유지해야 한다 — 옳다.
- 안전모드에서 드라이버 삭제·재설치가 가능하다 — 옳다.

M=1일 때 회로는 A-B를 수행한다.
각 는 M과 XOR되어 FA에 들어가므로 M=1이면 B의 각 비트가 반전(1의 보수)되고, 최하위 자리올림 입력 에도 M=1이 들어간다.
따라서 A + B' + 1 = A + (B의 2의 보수) = A-B이다. M=0이면 B가 그대로 들어가고 =0이어서 A+B가 된다.
- A+B — M=0일 때의 동작이다.
- A+B+1 — B가 반전된다는 점을 놓친 결과이다.
- B-A — A가 아니라 B가 반전되므로 틀렸다.
A'+C'D
A'+C'D로 간략화되는 것은 A'BE+A'B'+C'D+A'BE'이다.
A'BE+A'BE' = A'B(E+E') = A'B이고, A'B+A'B' = A'(B+B') = A'이므로 전체는 A'+C'D가 된다.
- A'+B'D+AC'D — A'+AC'D = A'+C'D이지만 B'D 항이 남아 A=1, B=0, C=1, D=1일 때 1이 되므로 다르다.
- A'BCD'+A'B'CD+A'BC'D — 최소항 세 개뿐이라 A'+C'D보다 훨씬 좁다.
- (AB)'+B+C'D — A'+B'+B = 1이 되어 항상 참이다.
옳지 않은 것은 공개키 암호화 방식이 비밀키 방식보다 암호화 속도가 빠르다는 설명이다.
공개키 방식은 큰 수의 거듭제곱 연산 등 복잡한 수학 연산을 사용하므로 대칭키 방식보다 훨씬 느리다. 그래서 실제로는 대칭키를 공개키로 전달하는 혼합 방식을 쓴다.
- 암호화와 복호화에 서로 다른 키를 쓴다 — 옳다.
- 공개키로부터 개인키를 알아내기가 매우 어렵다 — 옳다.
- 대표 알고리즘은 RSA이다 — 옳다.
#include <stdio.h>
int f(int *i, int j) {
*i += 5;
return(2 * *i + ++j);
}
int main(void) {
int x=10, y=20;
printf("%d ", f(&x, y));
printf("%d %d\n", x, y);
}출력은 51 15 20이다.
x는 주소로 전달(참조에 의한 전달)되므로 *i += 5에 의해 main의 x가 15로 바뀐다. y는 값으로 전달되어 함수 안의 j만 바뀐다.
반환값 = 2 × 15 + (++j = 21) = 51
이후 x=15, y=20이 출력된다.
- 51 15 21 — 값으로 전달된 y도 바뀐다고 본 경우이다.
- 51 10 20 — 포인터로 x가 바뀐 것을 놓친 경우이다.
- 50 15 21 — ++j를 후위 증가처럼 계산한 경우이다.
#include <stdio.h>
void main() {
int a, b;
a = 2;
while (a-- > 0)
printf("a = %d\n", a);
for (b = 0 b< 2 b++)
printf("a = %d\n", a++);
}a = 0
a = -1
a = 0
a = 0
a = 0
a = 1
a = 1
a = 0
a = 1
a = 1
a = 1
a = 2
출력은 차례로 a = 1, a = 0, a = -1, a = 0이다.
while 조건 a-- > 0은 비교 후 감소한다.
2 > 0 참 → a=1 출력, 1 > 0 참 → a=0 출력, 0 > 0 거짓 → 반복 종료, 그래도 감소는 일어나 a=−1
for 문(인쇄본에는 세미콜론이 빠져 있으나 b를 0부터 1까지 반복하는 의도)은 2회 반복하며 printf에서 a++는 출력 후 증가한다.
−1 출력 후 a=0, 0 출력 후 a=1
- while 종료 후 a를 0으로 보는 경우 — 거짓 판정 때도 후위 감소가 일어나는 점을 놓쳤다.
- 첫 출력을 2로 보는 경우 — 조건 검사에서 이미 감소한 뒤 출력한다는 점을 놓쳤다.
옳지 않은 것은 히프 정렬의 최악 수행시간이 O(log n)이라는 설명이다.
히프 정렬은 n개 원소마다 O(log n)의 재조정을 하므로 최악의 경우에도 O(n log n)이다. 어떤 비교 정렬도 n개를 O(log n)에 정렬할 수는 없다.
- 합병 정렬은 추가 배열이 필요해 히프 정렬보다 기억 장소를 더 쓴다 — 옳다.
- 퀵 정렬은 피벗 선택이 나쁘면 최악 O()이다 — 옳다.
- 삽입 정렬은 거의 정렬된 자료에서 효율적이다 — 옳다.
옳지 않은 것은 컴퓨터를 다른 네트워크로 옮겨도 항상 같은 IP 주소를 사용한다는 설명이다.
IP 주소는 네트워크 부분과 호스트 부분으로 구성되므로, 다른 네트워크에 접속하면 그 네트워크에 맞는 주소를 새로 받아야 한다. 장치에 고정된 주소는 MAC 주소이다.
- CIDR은 8비트 단위 클래스 구분 없이 네트워크부를 정한다 — 옳다.
- IPv4와 IPv6의 주소 표현 형식이 다르다 — 옳다.
- DHCP로 주소를 자동 설정한다 — 옳다.