정보처리 기능사 필기 기출문제 [09-01-18] 문제 해설. (1과목, 2과목)
빨간 글자 = 정답(밑줄)
파란 글자 = 중요 문제, 많이 출제돼요
초록 글자 = 문제 풀이 팁
회색 글자 = 답만 암기, 중요하지 않아요
[1과목 : 전자 계산기 일반]
1. 현재 수행 중에 있는 명령어 코드(code)를 저장하고 있는 임시 저장장치는?
가. 인덱스레지스터(Index register)
나. 명령레지스터(Instruction register)
다. 누산기(Accumulator)
라. 메모리레지스터(Memory register)
문제에서 '명령어 코드 = OP-code'를 저장하고 있다고 나와 있네요
명령어를 갖고 있는 레지스터는 '명령 레지스터 입니다.
<명령 레지스터(IR : Instruction Register)>
- 현재 실행중인 명령어의 내용을 기억하는 레지스터로 명령만 기억합니다.
<인덱스 레지스터(Index Register)>
- 주소의 변경, 서브루틴 연결 및 프로그램에서의 반복 연산의 횟수를 세는 레지스터로 사용자가 내용을 변경할 수 있습니다
<누산기(Accumulator) = AC , ACC>
- 산술 연산과 논리 연산 동작을 수행한 후 결과를 축적하는 레지스터입니다.
- 산술 연산 또는 논리 연산의 결과를 일시적으로 기억하는 장치입니다.
- 대표적인 연산 장치로 1주소 명령어를 처리합니다.
<메모리 레지스터(Memory Register)>
- 주기억 장치와 입출력 장치, 제어 장치 사이에서 데이터를 전송할 때, 중계지 역할을 하는 기억장치입니다.(중요하지 않아요)
※명령 레지스터와 누산기는 꼭 기억해 두세요 중요합니다.
2. 반가산기(half-adder)에서 두 개의 입력 비트가 모두 1일 때 합(sum)은?
가. 0
나. 1
다. 10
라. 11
반가산기에서 합계(SUM)은 XOR회로를 이용하고 자리올림(Carry)는 AND회로를 사용합니다.
XOR회로는 동일한 값이 입력되었을때는 0 다른 값이 입력시 1이 출력됩니다.
따라서 입력이 모두 1인경우 0이 출력됩니다.
<반가산기>
- 1개의 XOR(합계 : Sum) 회로와 1개의 AND(자리올림 : Carry) 회로로 구성되어 있으며 2개의 입력값과 2개의 출력값을 갖고 갖고 있습니다.
- S의 겨우 SUM으로 합계를 나타내는 값이며 C의 경우 Carry로 자리 올림값을 나타냅니다.
- 2개의 입력과 결과가 S,C 2개라면 반가산기라고 암기해도 됩니다
- 반가산기의 경우 시험에서 너무나도 많이 출제되는 부분입니다 꼭 암기하시길 바랍니다.
※아래의 회로의 내용도 추가적으로 함께 기억하시면 좋아요
<XOR >
- 배타적 논리합, Exclusive OR , EOR 이라 합니다.
- XOR의 경우 입력 받는 값이 서로 다른 경우에만 1(True)의 값이 출력 됩니다. 특정 bit를 반전 시키는 Compare 연산에 사용됩니다.
- AND, OR 과 마찬가지로 2개의 입력과 1개의 출력이 있으므로 이항 연산이라 합니다.
- 반가산기에서 SUM(합계)를 계산합니다.
<진리표>
XOR Gate | ||
입력 A | 입력 B | 출력 C |
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 0 |
<AND 게이트>
- 논리 곱, 교집합, 직렬 연결로 이해하시면 됩니다. 특정 비트를 Clear(0으로 만드는)하는 MASK 연산에 사용됩니다.
- AND의 경우 입력 값이 모두 다 1(True : 참)일 때 결과 값이 1의 결과 값이 출력되는 게이트입니다.
- 입력에 2개의 값이 필요하며 출력은 1개의 값이 출력됩니다. 이러한 것을 이항 연산(항이 두 개)이라 합니다.
- 반가산기에서는 자리올림(Carry)값을 나타냅니다.
<진리표>
AND Gate | ||
입력 A | 입력 B | 출력 C |
0 | 0 | 0 |
1 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 1 |
3. EBCDIC 코드의 존(zone) 코드는 몇 비트로 구성되어있는가?
가. 8
나. 7
다. 6
라. 4
EDCDIC코드의 Zone bit가 몇 bit인지 묻는 문제는 자주 출제되지만 답만 암기하셔도 좋아요
BCD코드 : 6bit 문자코드로 대소문자를 구별하지 못합니다. (64가지 문자 표현 가능합니다.)
ASCII 코드 : 미국 표준국에서 개발되어 7bit 문자 체제로 인터넷에서 주로 사용됩니다. ( 128가지 문자 표현)
EBCDIC : 확장된 BCD 코드로 대형 컴퓨터에서 사용합니다. (256가지 문자 표현)
코드 | Zone bit | Digit bit | 크기 | 특징 |
BCD | 2 bit | 모두 4 bit (따라서 Digit bit를 묻는 문제는 출제되지 않습니다. ) |
6 bit | 대소문자 구분 X |
ASCII | 3 bit | 7 bit | 미국에서 만든 표준 코드 | |
EBCDIC | 4 bit | 8 bit | 과학 수치 계산 |
ASCII(아스키)를 기준으로 위로는 -1 아래로는 +1 로 기억하셔도 됩니다. 아스키는 획수가 7획이 나옵니다. 7bit 암기법입니다
※bit와 표현 가지수의 고식은 기억해 두세요
4. 주기억장치에서 기억장치의 지정은 무엇에 따라 행하여지는가?
가. 레코드(Record)
나. 블록(Block)
다. 어드레스(Address)
라. 필드(Field)
문제들을 보시면 '주소지정 방식'에 대한 문제도 자주 출제되며 CPU에는 '주소 레지스터'가 있습니다.
또한 주소에 '상대 주소, 절대 주소' 등 등 공통적으로 주소(번지)에 대한 언급이 많습니다.
따라서 주기억장치는 이러한 내용을 바탕을 '어드레스(Address) = 주소'로 되어 있단는 점을 알 수 있습니다.
<레코드(Record)>
- 하나 이상의 필드가 모여서 구성되며 컴퓨터 내부의 처리 단위가 됩니다.
블록(Block)
- 파일 시스템에서 항상 연속적으로 할당하는 데이터의 크기입니다.
- 1개 이상의 논리 레코드가 모여서 구성되며 저장 매체들의 입출력 단위로 물리 레코드라고도 합니다.
- 마우스로 드래그하여 선택된 범위도 블록이라 합니다.
<필드(Field)>
- 파일 구성의 단위로 의미있는 정보를 표현하는 최소한의 단위가 됩니다.
※문제 자체가 어렵지 않은 문제로 답만 기억하셔도 괜찮습니다.
5. 레지스터에 새로운 데이터를 전송하면 먼저 있던 내용은 어떻게 되는가?
가. 기억된 내용에 아무런 변화가 없다.
나. 먼저 내용은 지워지고 새로운 내용만 기억된다.
다. 먼저 내용은 다른 곳으로 전송되고 새로운 내용만 기억된다.
라. 누산기(Accumulator)에서는 덧셈이 이루어진다.
레지스터는 1가지만 기억하고 휘발성의 특징을 가지고 있습니다.
<레지스터(Register)>
- CPU내부에서 처리할 명령어나 연산의 중간 결과값 등등을 일시적으로 기억하는 임시기억장소로 메모리 장치들중 가장 빠릅니다.
- 레지스터는 휘발성 메모리로 전원이 끊어지면 내용이 삭제되며 한번에 한 가지를 기억하여 새로운 내용이 입력되면 기존의 내용은 지워지는 특성을 가지고 있습니다.
- 레지스터는 컴퓨터의 데이터 처리 및 연산의 중간 결과를 저장하며 이는 속도 향상의 목적을 갖습니다.
<누산기(Accumulator) = AC , ACC>
- 산술 연산과 논리 연산 동작을 수행한 후 결과를 축적하는 레지스터입니다.
- 산술 연산 또는 논리 연산의 결과를 일시적으로 기억하는 장치입니다.
- 대표적인 연산 장치로 1주소 명령어를 처리합니다.
※누산기는 연산 동작을 수행한 후 결과를 축적합니다. 헷갈리지 않도록 주의하세요
6. 2진수 “101111110”을 8진수로 변환하면?
가. (576)8
나. (567)8
다. (558)8
라. (557)8
2진수를 8진수로 변경하기 위해서는 뒤에서부터 3자리씩 묶어서 표현하면 됩니다.
각 3자리 묶음을 자릿값에 맞춰 8진수로 바꿔주면 됩니다.
2진수 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
자리값 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
8진수 | 5(4+1) | 7(4+2+1) | 6(4+2) |
7. 진리표가 다음 표와 같이 되는 논리회로는?
입력A | 입력B | 출력F |
0 0 1 1 |
0 1 0 1 |
1 1 1 0 |
가. AND 게이트
나. OR 게이트
다. NOR 게이트
라. NAND 게이트
<NAND>
NAND, NOR, XNOR 의 경우 결과값에 NOT 회로를 붙여 값의 반전만 하면 되므로 NAND만 설명후 넘어가도록 하겠습니다.
NAND : NOT AND로 AND 연산후 결과 값에 NOT회로 처리하면 됩니다.
<게이트 그림>
<진리표>
NAND Gate | ||
입력 A | 입력 B | 출력 C |
0 | 0 | 1 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 0 |
<NOR>
OR회로의 값에 NOT 회로를 붙여 값을 반전만 하면 됩니다.
<게이트 그림>
<질리표>
NORGate | ||
입력 A | 입력 B | 출력 C |
0 | 0 | 1 |
1 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 0 |
※이외의 게이트는 아래의 6번 문항에서 자세히 설명하겠습니다.
8. 다음 중 입력이 어느 하나라도 1이면 출력이 1이 되고, 입력이 모두 0일 때만 출력이 0이 되는 게이트는?
가. NOT
나. AND
다. OR
라. XOR
필수 암기 게이트 4가지가 모두 나왔네요
각각 게이트의 특징, 게이트 그림, 진리표를 기억하고 계셔야 합니다.
위의 7번 문제와 연결되는 문제라 보셔도 괜찮아요
하나라도 1일땐 1이 출력되는 게이트는 당연히 OR입니다.
<OR 게이트>
- 논리 합, 합집합, 병렬 연결로 이해하시면 됩니다. 특적 bit를 1(Set = 1로 만드는)Selective-Set 연산에 주로 사용됩니다.
- OR의 경우 입력 값이 모두 0(False = 거짓)일 경우에만 0이 출력 되며 이외에는 1로 출력 됩니다.
- 입력 값이 2개이며 출력이 1개이므로 이항 연산이라 합니다.
<진리표>
OR Gate | ||
입력 A | 입력 B | 출력 C |
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 1 |
<AND 게이트>
- 논리 곱, 교집합, 직렬 연결로 이해하시면 됩니다. 특정 비트를 Clear(0으로 만드는)하는 MASK 연산에 사용됩니다.
- AND의 경우 입력 값이 모두 다 1(True : 참)일 때 결과 값이 1의 결과 값이 출력되는 게이트입니다.
- 입력에 2개의 값이 필요하며 출력은 1개의 값이 출력됩니다. 이러한 것을 이항 연산(항이 두 개)이라 합니다.
- 반가산기에서는 자리올림(Carry)값을 나타냅니다.
<진리표>
AND Gate | ||
입력 A | 입력 B | 출력 C |
0 | 0 | 0 |
1 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 1 |
<XOR >
- 배타적 논리합, Exclusive OR , EOR 이라 합니다.
- XOR의 경우 입력 받는 값이 서로 다른 경우에만 1(True)의 값이 출력 됩니다. 특정 bit를 반전 시키는 Compare 연산에 사용됩니다.
- AND, OR 과 마찬가지로 2개의 입력과 1개의 출력이 있으므로 이항 연산이라 합니다.
- 반가산기에서 SUM(합계)를 계산합니다.
<진리표>
XOR Gate | ||
입력 A | 입력 B | 출력 C |
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 0 |
<NOT = Complement = 인버터(Inverter)>
- 입력되는 값을 반전합니다. 토글(2가지 상태로 반복적으로 되풀이 하는 것.) 기능, Complement 연산이라고도 하며 값의 부정이라합니다
<진리표>
NOT Gate | |
입력 A | 출력 B |
0 | 1 |
1 | 0 |
※시험에 워낙 많이 출제되므로 모두 기억하고 게셔야 해요
9. 명령어는 연산자 부분과 주소 부분으로 구성되는데 주소(operand) 부분의 구성 요소가 아닌 것은?
가. 데이터의 주소 자체
나. 명령어 순서
다. 데이터 종류
라. 데이터가 있는 주소를 구하는데 필요한 정보
데이터의 종류는 실제 주소부를 통하여 값을 가져와서 데이터가 어떤 데이터인지 숫치인지 문자인지와 같이 구별 짓게 됩니다.
주소부에는 1주소, 2주소, 3주소와 같이 주소부에서도 가져와야할 데이터의 순서가 있습니다.
<명령어의 구조>
명령어 구조 | OP-code (명령부,연산자) | Mod(주소지정) | Operand(주소부) |
OP-code : 실제 명령이 있는 곳으로 입출력, 주소 지정, 제어 , 연산, 등의 기능을 가지고 있습니다.
MOD : 주소 지정부분으로 직접 주소지정, 간접주소 지정 등 주소 지정에 관련된 정보를 가지고 있습니다.(보통 명령어 형식에서는 생략하여 이야기 합니다.)
Operand : 연산에 사용되는 데이터 혹은 데이터의 주소 등을 저장하고 있습니다
10. 그림과 같은 논리회로에서 출력 X에 알맞은 식은? (단, A, B, C는 입력임)
정답은 가
A는 NOT 회로를 지나 A'이 됩니다.
B,C의 경우 OR 회로(논리합)을 지나 B+C가 됩니다.
최종적으로 위의 두 값이 AND회로(논리곱)을 지나 A' * (B + C)가 됩니다.
11. 1비트(bit) 기억장치로 가장 적합한 것은?
가. 레지스터
나. 누산기
다. 계전기
라. 플립플롭
1Bit를 기억하는 초고속 기억장치는 '플립플롭'입니다.
<플립플롭(Flip-Flop)>
- 전원이 끊기기 전이나 상태 변화을 위한 신호가 발생전까지 현재의 상태를 그대로 유지하는 논리회로로 1bit를 기억하는 기억 소자입니다.
- 종류로는 D , T , RS, JK 4가지가 있습니다.
※플립플롭이 모여 레지스터를 이룹니다.
<레지스터(Register)>
- CPU내부에서 처리할 명령어나 연산의 중간 결과값 등등을 일시적으로 기억하는 임시기억장소로 메모리 장치들중 가장 빠릅니다.
- 레지스터는 휘발성 메모리로 전원이 끊어지면 내용이 삭제되며 한번에 한 가지를 기억하여 새로운 내용이 입력되면 기존의 내용은 지워지는 특성을 가지고 있습니다.
- 레지스터는 컴퓨터의 데이터 처리 및 연산의 중간 결과를 저장하며 이는 속도 향상의 목적을 갖습니다.
<누산기(Accumulator) = AC , ACC>
- 산술 연산과 논리 연산 동작을 수행한 후 결과를 축적하는 레지스터입니다.
- 산술 연산 또는 논리 연산의 결과를 일시적으로 기억하는 장치입니다.
- 대표적인 연산 장치로 1주소 명령어를 처리합니다.
<계전기(Relay)>
전기로 작동시키는 스위치를 말합니다.
※계전기의 경우 중요하지 않아요 그냥 이런게 있네 하고 넘어가셔도 괜찮아요
12. 다음 보기의 연산은?
가. AND 연산
나. OR 연산
다. MOVE 연산
라. Complement 연산
숫자를 위아래로 겹쳐서 보면 각각의 자리가 모두 1일경우에만 1이 출력된다는 것을 알 수 있으며 이를 통해 AND연산이라는 것도 알 수 있습니다.
<AND>
- 논리 곱, 교집합, 직렬 연결로 이해하시면 됩니다. 특정 비트를 Clear(0으로 만드는)하는 MASK 연산에 사용됩니다.
- AND의 경우 입력 값이 모두 다 1(True : 참)일 때 결과 값이 1의 결과 값이 출력되는 게이트입니다.
- 입력에 2개의 값이 필요하며 출력은 1개의 값이 출력되므로 이항 연산자 입니다.
<OR>
- 논리 합, 합집합, 병렬 연결로 이해하시면 됩니다. 특적 bit를 1(Set = 1로 만드는)Selective-Set 연산에 주로 사용됩니다.
- OR의 경우 입력 값이 모두 0(False = 거짓)일 경우에만 0이 출력 되며 이외에는 1로 출력 됩니다.
- 입력 값이 2개이며 출력이 1개이므로 이항 연산이라 합니다.
<MOVE>
- 레지스터에 기억된 자료를 그대로 다른 레지스터로 이동 시킬 때 사용합니다.
- 파일을 이동시키거나 이름을 변경합니다.(DOS 명령어)
- 이동 연산으로 단항 연산입니다.
<NOT> = 인버터(Inverter)
- 입력되는 값을 반전합니다. 토글(2가지 상태로 반복적으로 되풀이 하는 것.) 기능, Complement 연산이라고도 하며 값의 부정이라합니다.
- 입력값이 1개 출력이 1개이므로 단항 연산이라 합니다.
<연산장치(ALU : Arithmetic Logic Unit)>
- 산술 연산, 논리 연산, 관계 연산 및 시프트(Shift)를 수행하는 중앙처리장치(CPU) 내부의 회로 장치로 제어장치의 명령에 따라 실제로 연산을 수행하는 장치입니다.
- 가산기(덧셈), 누산기(덧셈), 감산기(뺄셈), 보수기, 데이터 레지스터, 상태 레지스터 등이 있습니다.
※그림의 숫자만 바뀌어서도 출제되는 문제입니다. 기억해두시면 좋아요
13. (A+1)·(B+1)+C의 논리식을 간단히 한 것은?
가. 1
나. 0
다. A
라. C
A + 1 = 1입니다.
B + 1 = 1 입니다.
1 * 1 = 1 이며 이 결과값 1에 C 를 더하면 1 + C가 되고 1 + C = 1 이 됩니다.
※그림으로 A + 1 = 1이라는 점을 이해하시면 쉽게 풀이가 됩니다.
14. 중앙처리장치에서 명령이 실행될 차례를 제어하거나 특정 프로그램과 관련된 컴퓨터 시스템의 상태를 나타내고 유지해 두기 위한 제어 워드로서, 실행 중인 CPU의 상태를 포함하고 있는 것은?
가. PSW
나. SP
다. MAR
라. MBR
문제 지문에 '상태'라는 단어가 나오면 바로 psw를 기억하시면 좋아요 쉽게 풀수 있습니다.
<플래그 레지스터(Flag Register)> ≒ <상태 레지스터; Status Register, PSWR ; Program Status Word Register>
- 시스템 내부의 순간 순간의 상태가 기록된 정보를 PSW라고 하며 이를 기억하여 오버플로, 언더플로, 자리올림, 계산 상태, 인터럽트 등의 정보를 저장하고 있는 레지스터 입니다.
SP = Serial Printer , Space Character , Stack Pointer , Structured Programming, 등등 의미하는 바가 너무 많아서 넘어가겠습니다.
<Memory Buffer Register(MBR ; 메모리 버퍼 레지스터)>
- 기억장치를 출입하는 데이터를 잠시 기억하는 레지스터로 CPU가 데이터 처리시 반드시 거치게 되어 있습니다.
- 메모리에 액세스할 때 데이터를 메모리와 주변 장치 사이에서 송수신을 용이하게 하며 지정된 주소에 데이터를 써 넣거나 읽어내는 데이터를 저장하는 레지스터입니다.
< Memory Address Register(MAR ; 메모리 주소 레지스터)>
- 기억장치를 출입하는 데이터의 번지(주소)를 기억하는 레지스터입니다.
※psw의 경우 시험에 워낙 많이 출제되므로 잘 기억하고 계셔야 합니다. 시험에서는 플래그 레지스터보다는 '상태 레지스터'로 많이 출제됩니다.
15. 아래는 명령어 인출 절차 이다. 올바른 순서로 나열된 것은?
① 프로그램카운터를 증가 시킨다 ② 명령어를 주기억장치로부터 인출한다. ③ 명령 코드를 명령레지스터에 옮긴다. ④ 프로그램카운터의 값을 번지 레지스터에 옮긴다. |
가. ①→②→③→④
나. ③→②→①→④
다. ④→②→①→③
라. ①→③→④→②
명령계수기(프로그램 카운터(PC)의 값을 번지 레지스터(MAR)로 옮기는 것이 시작입니다.
명령어를 주기억장치로부터 인출(Fetch)한 후 명령어를 명령 레지스터(IR)로 옮긴다는 순서를 잘 기억하시면 됩니다.
중간에 명령 계수기 증가가 있지만 4가지를 다 암기하실 필요없이
PC(프로그램 카운터) > Fetch(인출) > IR(명령 레지스터) 이 3가지 순서는 잘 기억하시면 됩니다
※몇번 출제된 문제입니다. 정답을 잘기억해 두세요 문제내용이 정말 크게 다르지 않아요
16. 다음 중 제어장치에서의 명령 사이클에 해당하지 않는 것은?
가. 인출 주기(fetch cycle)
나. 직접 주기(direct cycle)
다. 간접 주기(indirect cycle)
라. 실행 주기(execute cycle)
명령어를 인출해서 바로 실행을 하면 됩니다. 만일 주소지정이 '간접 주소지정'일 경우에는 다시 메모리를 참조하므로 간접사이클을 지나 실행을 하면 됩니다.
따라서 '직접 주기'라는 내용은 없습니다.
다만 실행중 예기치 못한일이 발생할 경우 이를 해결하고자 '인터럽트 사이클'이 있습니다.
<메이저 스테이트(Major State = Major Cycle = Machine Cycle)>
- 현재 CPU가 무엇을 하고 있는가를 나타내는 상태입니다.
- 인출(Fetch), 간접(Indirect), 실행(Execute), 인터럽트(Interrupt) 4가지 상태가 있습니다.
↘인출 단계(Fetch Cycle)
- 명령어를 주기억장치로부터 중앙처리장치의 명령 레지스터(IR)로 가져와 해독하는 단계로 해석된 명령어의 모드 비트에 따라 직접 주소와 간접 주소를 판단합니다.
↘ 간접 단계(Indirect Cycle)
- 인출(Fetch) 단계에서 해석된 명령이 간접주소인 경우 수행되며 간접주소의 경우 유효주소를 계산하기 위해 다시 간접 단계(Indect Cycle)을 수행후 명령어에 따라 실행하게 됩니다.
↘ 인터럽트 단계(Interrupt Cycle)
- 인터럽트 발생 시 복귀주소를 프로그램카운터(PC)에 저장후 제어순서를 인터럽트 처리 프로그램의 첫 번째 명령으로 옮기는 단계로 인터럽트를 마무리하면 다시 명령어를 가져오는 인출(Fetch)단계로 바뀌게 됩니다.
↘ 실행 단계(Execute)
- 인출 및 간접 단계에서 가져온 명령어를 실행하는 단계로 실행도중 인터럽트 발생시 인터럽트(Interrupt Cycle)처리 단계로 넘어가게 됩니다.
17. 중앙처리장치(CPU)의 기능을 설명한 것으로 옳지 않은 것은?
가. 작업을 감독하는 기능을 수행
나. 산술연산, 논리연산을 수행
다. 프로그램과 데이터를 저장하는 기능 수행
라. 원시프로그램을 목적프로그램으로 변환하는 기능 수행
중앙처리장치의 경우 3가지 기능을 합니다.
제어, 연산, 저장이 있지만 저장은 생략합니다.
보기의 3번의 저장 하는 기능은 처리된 데이터를 저장장치에 '저장'하는 명령을 통하여 처리되므로 크게 '제어'의 범위로 보셔도 괜찮아요
다만 4번 보기의 원시프로그램을 목적프로그램으로 변환하는 기능은 '언어 번역'이 하는 일입니다 (목적 프로그램 생성은 '컴파일러'입니다.)
<제어장치(Control Unit : CU)>
- 컴퓨터의 모든 장치들의 동작을 지시하고 제어하는 장치로 CPU(중앙처리장치)를 구성하는 장치입니다.
- 대표적으로 PC, IR, MAR, MBR, 등이 있습니다.
<연산장치(ALU : Arithmetic Logic Unit)>
- 산술 연산, 논리 연산, 관계 연산 및 시프트(Shift)를 수행하는 중앙처리장치(CPU) 내부의 회로 장치로 제어장치의 명령에 따라 실제로 연산을 수행하는 장치입니다.
- 가산기(덧셈), 누산기(덧셈), 감산기(뺄셈), 보수기, 데이터 레지스터, 상태 레지스터 등이 있습니다.
<컴파일러(Compiler)>
- 대표적 언어 번역 프로그램으로 페이지 단위로 번역후 실행합니다.
- 페이지 단위인 만큼 번역 속도는 느리나 실행속도가 빠르고 목적 프로그램을 생성합니다.
- 대표적인 언어로 FORTRAN, COBOL, C, ALGOL, 등이 있습니다.
18. RS플립플롭에서 S=1, R=1이면 출력은 어떤 상태가 되는가?
가. 불변(No Change)
나. 0으로 Reset 됨
다. 1로 Set 됨
라. 불능(Not Allowed)
Set 와 Reset의 동시 실행을 동시에 처리하지 못해 RS플립플롭은 '불능'이 됩니다.
이러한 오류를 해결하기 위하여 JK플립플롭이 등장했습니다.
<RS, JK 플립플롭>
플립플롭 | j | k | 결과 |
s | r | ||
입력 | 0 | 0 | 변화 없음 |
1 | 0 | Set = 1 로 | |
0 | 1 | Reset = 0 으로 | |
1 | 1 | JK = 반전(토글) RS = 오류 |
※ 1 = 하다 0 = 하지 않는다
RS 플립플롭의 S = Set , R = Reset
J = S , R = K
19. 오퍼랜드(Operand) 자체가 연산대상이 되는 주소지정방식은?
가. 즉시주소지정(Immediate Addressing)
나. 직접주소지정(Direct Addressing)
다. 간접주소지정(Indirect Addressing)
라. 묵시적주소지정(Implied Addressing)
Operand(주소부)에 저장된 값이 실제 계산에 사용되어야 하는 값인 경우 주기억장치를 참조하지 않고 즉시 연산이 이루어 집니다. 이러한 주소지정을 즉시 주소지정이라 합니다.
<즉시 주소 지정(즉치 주소 지정)(Immediate Address)>
- 명령어 자체의 주소부(Operand)에 실제 데이터를 가지고 있는 방식으로 기억 장치를 접근(Access)하지 않으므로 속도가 빠릅니다.
<직접 주소(Direct Address)>
- 명령어의 주소부 Operand에 있는 데이터의 값이 실제 주소를 나타내며 주소부가 실제 주소를 나타내므로 다시 기억장치를 참조 할 필요 없으므로 이것을 직접 주소라 합니다.
- 주소 길이에 제한을 받습니다.
<간접주소(Indirect Address)>
- 명령어의 주소부(Operand)의 값이 실제 데이터의 주소를 가진 번지 주소를 가지고 있는 방식으로 최소 2회 이상 기억 장치를 접근해야 목표 데이터를 접근할 수 있습니다.
- 속도는 느리지만 긴 주소를 표현할때 적합합니다.
<묵시(암시)(Implied Address)
- 명령 실행에 필요한 데이터의 위치를 지정하지 않고 누산기나 스택의 데이터를 묵시적으로 지정하여 사용하는 방식으로 오퍼랜드가 없는 명령입니다. 계상기 명령의 연산부가 암묵적으로 오퍼랜드의 어드레스를 지정(PUSH ,POP)하고 있는 것을 말합니다.
※즉시와 묵시 둘다 메모리를 참조하지 않지만 즉시는 Operand(주소부)가 있고 묵시는 주소부가 없다는 점을 차이점으로 기억하시면 됩니다.
20. 마이크로프로세서의 성능을 나타내는 MIPS는 무엇의 약자인가?
가. micro instruction per second
나. million instruction per second
다. minute instruction per second
라. medium instruction per second
MIPS :Milion Instruction Per Second의 약자로 초당 100만 개의 연산을 수행한다는 단위입니다.
※다른 보기의 경우 의미가 없으며 답만 기억하셔도 괜찮아요 다른 자격증에도 가끔 출제 됩니다.
[2과목 : 패키지 활용]
21. 사원(사원번호, 이름) 테이블에서 “사원번호”가 “200”인 튜플을 삭제하는 SQL 문은?
가. REMOVE TABLE 사원 WHERE 사원번호=200;
나. KILL 사원번호, 이름 FROM 사원 WHERE 사원번호=200;
다. DELETE FROM 사원 WHERE 사원번호=200;
라. DROP TABLE 사원 WHERE 사원번호=200;
튜플을 삭제하는 명령은 DELETE입니다.
DROP의 경우 테이블 자체를 삭제하는 명령입니다. 헷갈리지 않도록 잘 구별 지어서 기억하셔야 해요
DELETE FROM 사원 : 사원 테이블에서 튜플을 삭제합니다.
WHERE 사원번호=200 : 사원 번호가 200 번호인것이 조건입니다.
<DELETE FROM ~ WHERE>:
- 조건에 맞는 튜플(레코드)를 삭제시 사용
- 구조 : DELETE FROM [테이블] WHERE[조건]
- 조건은 생략이 가능합니다.
※
KILL은 UNIX에서의 프로세서 종료나 편집기에서 한줄 삭제시 사용하는 명령입니다.
REMOVE랑 비슷한 내용은 UNIX에서 파일 삭제 명령인 'rm'이 있습니다.
둘다 SQL과는 관련 없습니다.
<Drop>
- 테이블, 스키마, 뷰, 도메인, 인덱스 제거
↘ <DROP 옵션>
- -Restrict : 제거할 요소를 다른 개체에서 참조 중일 때 삭제를 취소
- -Cascade : 제거할 요소를 다른 개체에서 참조 중일 때 참조하는 모든 개체들 까지 전부 삭제
22. SQL 명령어 중 데이터 정의문(DDL)에 해당하는 것은?
가. UPDATE
나. CREATE
다. SELECT
라. DELETE
CREATE는 테이블, 스키마, 뷰, 등의 생성어로 DDL(정의어)에 해당됩니다.
아래에 DDL과 DML을 정리합니다. 잘 읽고 꼭 암기하셔야 해요
<정의어 DDL(Data Definition Language)>
- DB(DataBase)의 구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어로 번역한 결과가 데이터 사전(Data-Dictionary)이라는 특별한 파일에 여러 개의 테이블로 저장됩니다.
☆<Create>
- 테이블, 스키마, 뷰, 도메인, 인덱스 생성
☆ <Alter>
- 테이블 수정
☆<Drop>
- 테이블, 스키마, 뷰, 도메인, 인덱스 제거
↘ <DROP 옵션>
- -Restrict : 제거할 요소를 다른 개체에서 참조 중일 때 삭제를 취소
- -Cascade : 제거할 요소를 다른 개체에서 참조 중일 때 참조하는 모든 개체들 까지 전부 삭제
<조작어 DML(Data Manipulation Language)>
- 데이터베이스 사용자가 응용프로그램이나 질의어를 통하여 저장된 데이터를 실질적으로 처리하는데 사용하는 언어입니다.
- 데이터베이스 사용자와 데이터베이스 관리 시스템간의 인터페이스를 제공합니다.
☆ <SELECT ~ FROM ~ WHERE>
- 검색문으로 조건에 맞는 튜플을 검색합니다.
- 구조 : SELECT [속성명(필드명)] FROM [테이블] WHERE [조건]
- 옵션 – DISTINCT : 중복 없이 검색합니다. (중복된 데이터가 있을 시 한번만 표시합니다.)
↘<WHERE 조건의 활용>
- 연산자 : LIKE = 속성 값이 문자 패턴과 일치하는 튜플만 검색 할 수 있습니다.
- ? , * 과 같은 와일드 카드 문자로 검색이 가능합니다.
↘ <ORDER BY> : 검색한 결과를 정렬하여 검색할 수 있습니다.
- ASC : 오름차순 / DESC : 내림차순 으로 정렬
↘< GROUP BY [속성명(필드명)] ~ HAVING [그룹 조건]>
- 특정 필드를 기준으로 그룹화 하여 검색을 할 수 있도록 합니다.
☆ <DELETE FROM ~ WHERE>:
- 조건에 맞는 튜플(레코드)를 삭제시 사용
- 구조 : DELETE FROM [테이블] WHERE[조건]
- 조건은 생략이 가능합니다.
☆ <UPDATE ~ SET ~ WEHRE>
- 조건에 맞는 튜플의 내용을 갱신(변경)시에 사용합니다.
- 구조 : UPDATE [테이블명] SET [속성명 = 데이터] WHERE [조건]
☆ <INSERT INTO ~ VALUE>
- 삽입문으로 튜플을 삽입해야 하며 속성과 데이터는 개수와 형식이 일치해야 합니다.
- 구조 : INSERT INTO [테이블명(속성명1,속성명2,...) VALUES [데이터1, 데이터2...]
23. 관계 데이터 모델에서 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자값들의 집합을 무엇이라고 하는가?
가. 도메인
나. 속성
다. 스키마
라. 튜플
속성의 표현의 범위 , 원자값들의 집합, 모두 '도메인'을 나타내는 말입니다.
<도메인(Domain)>
- 하나의 속성이 취할 수 있는 같은 타입의 원자값 들의 집합입니다.
- 사용 예) 성별, 학년, 등 미리 정해진 것 외에 입력 할 수 없도록 지정해 놓은 것입니다.
<속성(Attribute : 애트리뷰트)>
- 테이블을 구성하는 항목(Field)이라고도 하며 데이터 베이스를 구성하는 가장 작은 단위입니다.
- 개체(Entity)의 성질이나 특성을 나타냅니다.
- 데이터의 가장 작은 논리적 단위입니다.
<스키마(Schema) = 스킴(Scheme) = 메타데이터(Meta-data)>
- 데이터 베이스를 구성하는 개체, 속성, 관계 등 구조에 대한 정의와 이에 대한 제약 조건을 기술한것입니다.
- 내부, 외부, 개념 스키마 3가지가 있습니다.
↘스키마의 종류
- 외부 스키마 – 일반 사용자나 응용 프로그래머의 관점에서의 스키마
- 개념 스키마 – 데이터 베이스의 접근 권한 , 보안, 무결성 규칙에 대한 정의 (기관이나 조직체의 관점에서의 스키마)
- 내부 스키마 – 시스템 프로그래머 또는 설계자 관점에서의 스키마
<레코드(Record)> = 튜플(Tuple)
- 하나 이상의 필드가 모여서 구성되는 것으로 내부 자료 처리의 단위로 논리 레코드를 의미합니다.
- 테이블에서 행을 구성하는 개체(Entity)이며 튜플(Tuple)이라고도 합니다
※각각 모두 시험에 자주 출제되니 잘 기억해 두세요
24. 프리젠테이션 프로그램의 사용 용도로 거리가 먼 것은?
가. 교육 자료 제작
나. 제품 설명회 자료 작성
다. 통계자료 계산
라. 회의 자료 작성
계산에 대한 편의를 제공하는 프로그램을 '스프레드시트 ≒ 엑셀'을 기억하시면 쉽게 풀수 있어요
<프레젠테이션(Presentation) = 파워 포인트(PowerPoint( PPT) )>
- 기업의 제품 소개, 연구 발표, 회의내용 요약 등 각종 그림이나 도표, 그래프등을 이용하여 많은 사람들에게 효과적으로 의미를 전달할시 사용되는 응용 프로그램입니다.
<스프레드시트(Spreadsheet) = Excel>
- 입력 데이터에 대한 수치의 계산, 처리, 문서 작성, 그래프(차트) 작성, 등의 기능을 효율적으로 수행하기 위해 만들어진 응용 프로그램
25. SQL 구문 형식으로 적당하지 않는 것은?
가. SELECT ~ FROM ~ WHERE ~
나. DELETE ~ FROM ~ WHERE ~
다. INSERT ~ INTO ~ WHERE ~
라. UPDATE ~ SET ~ WHERE ~
Insert Into Value 입니다.
단어를 하나 바꾸어 문제로 출제했네요. DML을 기억하실때 꼼꼼히 기억해 두세요
<SELECT ~ FROM ~ WHERE> = 검색문
- 구조 : SELECT [속성명(필드명)] FROM [테이블] WHERE [조건]
<DELETE FROM ~ WHERE> = 삭제문(튜플)
- 구조 : DELETE FROM [테이블] WHERE[조건]
<INSERT INTO ~ VALUE> = 삽입문
- 구조 : INSERT INTO [테이블명(속성명1,속성명2,...) VALUES [데이터1, 데이터2...]
<UPDATE ~ SET ~ WEHRE> = 갱신문(수정문)
- 구조 : UPDATE [테이블명] SET [속성명 = 데이터] WHERE [조건]
※각각의 보다 자세한 설명은 22번 문항에서 작성해 두었습니다.
26. 데이터베이스의 구조를 3단계로 구분할 때 해당하지 않는 것은?
가. 내부 스키마
나. 외부 스키마
다. 개념 스키마
라. 내용 스키마
내.외.개 3가지를 꼭 기억해 두세요 시험에 많이 출제됩니다. 순서는 중요하지 않아요 종류를 기억하세요
지금 문제처럼 함정이 있을 수 있으니 내부.외부.개념 으로 기억하시면 더더욱 좋아요
<스키마(Schema) = 스킴(Scheme) = 메타데이터(Meta-data)>
데이터 베이스를 구성하는 개체, 속성, 관계 등 구조에 대한 정의와 이에 대한 제약 조건을 기술한것입니다.
내부, 외부, 개념 스키마 3가지가 있습니다.
↘<스키마의 종류>
- 외부 스키마 – 일반 사용자나 응용 프로그래머의 관점에서의 스키마
- 개념 스키마 – 데이터 베이스의 접근 권한 , 보안, 무결성 규칙에 대한 정의 (기관이나 조직체의 관점에서의 스키마)
- 내부 스키마 – 시스템 프로그래머 또는 설계자 관점에서의 스키마
27. 테이블에서 각 레코드를 식별할 수 있는 유일한 값을 갖는 필드를 무엇이라 하는가?
가. 셀
나. 블록
다. 기본 키
라. 슬라이드
'유일한 값을 갖는 필드'가 핵심 단어 입니다.
단 하나의 값을 정확하게 찾을을 수 있는 핵심 키워드를 '후보키'라 합니다. 이중에 '주 키(메인 키 : Main Key)'가 되는 것을 '기본 키'라 합니다.
※후보키와 기본키의 개념을 잘 구별 지어 기억하셔야 합니다.
<기본키(Primary Key)>
- 후보키들 중에서 선택된 메인 키(Main Key)입니다.
- 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있어야하며 NULL(정보의 부재)값을 가질 수 없습니다.
- 기본키로 정의된 속성에는 동일한 값이 중복되어 저장할 수 없습니다.
<후보키(Candidate Key)>
- 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합으로 후보키들 중에서 기본키를 선택하게 됩니다.
- 릴레이션에 있는 모든 튜플에 대하여 유일성과 최소성을 만족시켜야 합니다.
<블록(Block)>
- 파일 시스템에서 항상 연속적으로 할당하는 데이터의 크기입니다.
- 1개 이상의 논리 레코드가 모여서 구성되며 저장 매체들의 입출력 단위로 물리 레코드라고도 합니다.
- 마우스로 드래그하여 선택된 범위도 블록이라 합니다.
<셀(Cell)>
- 행과 열이 교차되며 만들어진 사각형으로 입력의 기본 단위입니다.
<슬라이드(Slide)>
- 프레젠테이션을 구성하는 내용의 하나의 화면 단위를 말하며 각 페이지의 기본 단위가 됩니다.
28. DBMS의 필수 기능에 해당하지 않는 것은?
가. 정의 기능
나. 조작 기능
다. 독립 기능
라. 제어기능
정.조.제로 첫 글자로만 기억하셔도 충분해요
시험에 종류를 물어보는 문제는 정말 자주 출제됩니다.
<DBMS(Data Base Magement System)>
- 데이터베이스 형태로 저장된 방대한 양의 각종 정보를 체계적이고 효과적으로 이용할 수 있도록 정리, 보관 하기 위해 만들어진 관리하는 프로그램
- 데이터의 중복을 필할 수 있으며 저장된 자료를 공동으로 이용할 수 있습니다.
- 자료의 일관성, 무결성, 보안을 유지할 수 있으며 표준화할 수 있습니다.
- 자료를 통합하여 관리할 수 있으며 항상 최신데이터로 유지하고 실시간 처리가 가능합니다.
- 전산화 비용이 증가하고 시스템이 복잡합니다.
- 자료의 백업과 회복이 어렵고 접근 과부화가 발생할 수 있습니다.
- 전문가의 부족이 있습니다.
↘<DBMS의 필수 기능>
정의 기능 , 조작 기능 , 제어 기능
- 정의 기능 : 데이터베이스에 저장될 데이터의 타입과 구조에 대한 정의와 데이터를 이용하는 방식을 정의합니다.
- 조작 기능 : 데이터의 검색, 갱신, 삽입, 삭제 등을 체계적으로 처리하기 위해 데이터 접근 수단을 정의합니다.
- 제어 기능 : 데이터의 정확성과 보안성을 유지하기 위한 무결성, 보안 및 권한 검사, 병행 제어 등의 기능을 정의합니다.
※데이터 베이스(DB)는 '데이터의 독립성'을 가지고 있어야합니다. 하지만 DBMS의 필수 3가지 기능으로는 아닙니다.
29. 스프레드시트에서 행과 열이 교차하면서 만들어지는 사각형으로, 데이터가 입력되는 기본단위를 무엇이라고 하는가?
가. 클립보드
나. 필터
다. 슬라이드
라. 셀
<셀(Cell)>
- 행과 열이 교차되며 만들어진 사각형으로 입력의 기본 단위입니다.
<클립보드(Clipboard)>
- 데이터를 일시적으로 보관해 두는 임시 저장 공간으로 복사, 잘라내기, 붙이기 할 때 사용됩니다.
- 클립보드는 가장 최근에 저장된 것 하나만 기억하며 여러번의 사용이 가능합니다.
- 클립보드의 내용은 시스템 재시작시 내용이 지워집니다.(휘발성)
<슬라이드(Slide)>
- 프레젠테이션을 구성하는 내용의 하나의 화면 단위를 말하며 각 페이지의 기본 단위가 됩니다.
<필터(Filter)>
- 데이터 목록에서 설정된 조건에 맞는 데이터만 추출하여 화면에 나타내는 기능입니다.
※어렵지 않고 암기할 내용이 많지 않지만 시험에는 보기들 모두 잘 출제됩니다. 꼭 기억해 두세요
30. 스프레드시트에서 반복 실행해야 하는 동일 작업이나 복잡한 작업을 하나의 명령으로 정의하여 실행할 수 있는 기능을 무엇이라고 하는가?
가. 슬라이드
나. 매크로
다. 필터
라. 시나리오
'반복 실행'이라는 4글자 만으로도 정답을 찾을 수 있습니다. 다른 자격증에서도 많이 출제되므로 꼭 기억해 두세요
매크로(Macro)
- 반복적이고 복잡한 일련의 작업을 순서대로 기록해 두었다가 필요할 때마다 호출 명령을 통하여 자동으로 처리하는 프로그램입니다.
- 프로그램 작성시 동일한 코드가 반복되는 경우 그 코드를 한번만 작성하여 필요시 호출하여 사용하는 것입니다
<슬라이드(Slide)>
- 프레젠테이션을 구성하는 내용의 하나의 화면 단위를 말하며 각 페이지의 기본 단위가 됩니다.
<필터(Filter)>
- 데이터 목록에서 설정된 조건에 맞는 데이터만 추출하여 화면에 나타내는 기능입니다.
<시나리오( Scenario)>
다양한 상황과 변수에 따른 여러 가지 결과값의 변화를 가상항의 상황을 통해 예츨 분석하는 도구로 서로 다른 시나리오를 만들어 변화하는 결과값을 예측하기 위하여 사용합니다.
※이번 문제에서는 스프레드시트(엑셀)에 대한 문제이므로 '시나리오'도 엑셀에 해당되는 이론으로 설명했습니다.
'산업인력공단 (큐넷)-자격증 > 정보처리기능사(필기)' 카테고리의 다른 글
[시골개]정보처리기능사 필기 2009년 03월 29일 기출문제 풀이[1,2과목] (1) | 2024.02.14 |
---|---|
[시골개]정보처리기능사 필기 무료강의 2009년 01월 18일(3,4과목) (1) | 2024.02.13 |
[시골개]정보처리기능사 필기 2008년 10월 05일 기출문제 풀이(3과목,4과목) (0) | 2024.02.09 |
[시골개]정보처리기능사 필기 2008년 10월 05일 기출문제 풀이(1과목,2과목) (0) | 2024.02.08 |
[시골개]정보처리기능사 필기 2008년 07월 13일 기출문제 풀이(3과목,4과목) (3) | 2024.02.07 |