1
2017 Final-term Examination (100)
Basic Computer Design
Date: 2017-12-13
1. 이번 ICT+UD 경진대회에 출품한 본인 작품에 있는 HW system 분해도/계층도/관계
도를 그리시오. (20)
각 팀별로 제출한 판넬 자료를 바탕으로 평가.
2. Computer에 compiler를 사용하는 이유를 구체적으로 설명하라. (10)
- 사용자가 입력한 programming language를 CPU가 이해할 수 있는 machine code로
바꿈으로써, 사용자가 직접 machine code를 입력할 필요 없이 이해가 편한
programming language를 사용할 수 있다.
- 사용자가 최적화하기 힘든 부분까지 compiler가 최적화하여 CPU 및 memory 사용 효
율을 극도로 개선할 수 있다.
3. 최근에 와서 ARM CPU가 각광을 받는 이유를 설명하라. (10)
- 전통적인 CISC CPU의 한계를 극복한 방식인 RISC CPU의 대표주자이므로 인기가 있다.
- ARM CPU는 최적화를 통해 전력 소비를 매우 줄이고 있다. 이와 동시에 CPU 실행 속
도도 비슷한 종류의 CPU에 비해 우수하다.
- 이러한 특징으로 인해 smart device와 IoT에 ARM CPU를 많이 채택하고 있다.
4. Arduino에 push button을 연결하여 사용자 입력을 받으려 한다. Code에는 setup()과
loop()를 반드시 사용. (60)
1) Arduino와 push button의 결선도를 그려라. (20)
- 둘 중 하나만 선택해도 정답 처리
- Digital pin은 0, 1을 제외하고 임의로 선택 가능
2
[일반적인 연결]
[Pullup 연결]
2) 이 HW를 구동하기 위한 Arduino code를 제시하라. Code는 짧을수록 가산점 반영.
(20)
둘 중 하나만 선택해도 정답 처리
[일반적인 연결]
void setup() {
pinMode(2, INPUT);
}
3
void loop() {
int nInput = digitalRead(2);
}
[Pullup 연결]
void setup() {
pinMode(2, INPUT_PULLUP);
}
void loop() {
int nInput = digitalRead(2);
}
3) 2)번 code를 더 발전시켜 사용자가 push button을 누르면 “on”, 누르지 않으면 “off”
를 출력하는 code를 제시하라. Code는 짧을수록 가산점 반영. (20)
void setup() {
pinMode(2, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
int nInput = digitalRead(2);
if (nInput == HIGH) Serial.println(“off”);
else Serial.println(“on”);
delay(100);
}

TestBCD2017-2(answer)

  • 1.
    1 2017 Final-term Examination(100) Basic Computer Design Date: 2017-12-13 1. 이번 ICT+UD 경진대회에 출품한 본인 작품에 있는 HW system 분해도/계층도/관계 도를 그리시오. (20) 각 팀별로 제출한 판넬 자료를 바탕으로 평가. 2. Computer에 compiler를 사용하는 이유를 구체적으로 설명하라. (10) - 사용자가 입력한 programming language를 CPU가 이해할 수 있는 machine code로 바꿈으로써, 사용자가 직접 machine code를 입력할 필요 없이 이해가 편한 programming language를 사용할 수 있다. - 사용자가 최적화하기 힘든 부분까지 compiler가 최적화하여 CPU 및 memory 사용 효 율을 극도로 개선할 수 있다. 3. 최근에 와서 ARM CPU가 각광을 받는 이유를 설명하라. (10) - 전통적인 CISC CPU의 한계를 극복한 방식인 RISC CPU의 대표주자이므로 인기가 있다. - ARM CPU는 최적화를 통해 전력 소비를 매우 줄이고 있다. 이와 동시에 CPU 실행 속 도도 비슷한 종류의 CPU에 비해 우수하다. - 이러한 특징으로 인해 smart device와 IoT에 ARM CPU를 많이 채택하고 있다. 4. Arduino에 push button을 연결하여 사용자 입력을 받으려 한다. Code에는 setup()과 loop()를 반드시 사용. (60) 1) Arduino와 push button의 결선도를 그려라. (20) - 둘 중 하나만 선택해도 정답 처리 - Digital pin은 0, 1을 제외하고 임의로 선택 가능
  • 2.
    2 [일반적인 연결] [Pullup 연결] 2)이 HW를 구동하기 위한 Arduino code를 제시하라. Code는 짧을수록 가산점 반영. (20) 둘 중 하나만 선택해도 정답 처리 [일반적인 연결] void setup() { pinMode(2, INPUT); }
  • 3.
    3 void loop() { intnInput = digitalRead(2); } [Pullup 연결] void setup() { pinMode(2, INPUT_PULLUP); } void loop() { int nInput = digitalRead(2); } 3) 2)번 code를 더 발전시켜 사용자가 push button을 누르면 “on”, 누르지 않으면 “off” 를 출력하는 code를 제시하라. Code는 짧을수록 가산점 반영. (20) void setup() { pinMode(2, INPUT_PULLUP); Serial.begin(9600); } void loop() { int nInput = digitalRead(2); if (nInput == HIGH) Serial.println(“off”); else Serial.println(“on”); delay(100); }