SlideShare a Scribd company logo
2018 Final-term Examination (100)
Basic Computer Design
Date: 2018-12-13
1. 오른쪽 회로를 고려하라. (40)
1) Switch 개폐에 따라 D2에 입력되는 전압을
쓰고 이유를 설명하라. (10)
- Switch open: 0 V
회로가 끊어져 전류가 흐르지 않기 때문에 접
지에 있는 전압이 저항을 통과해서 D2 지점에
그대로 나타남
- Switch closed: 5 V
회로가 연결되어 전류가 흐르기 때문에 5 V에
서 전달한 전압이 D2에 그대로 나타남
2) Switch가 닫힌 경우는 Serial로 “on”을 출력하고, 열린 경우는 “off”를 출력하는 code
를 작성하라. 여기서 serial port 연결 속도는 9600 bps, setup()과 loop()가 반드시 있어
야 함. (20)
void setup() {
Serial.begin(9600);
pinMode(2, INPUT);
}
void loop() {
int nVolt = digitalRead(2);
if (nVolt == HIGH) Serial.println(“on”);
else Serial.println(“off”);
delay(1000);
}
3) 이를 바탕으로 pinMode() 함수에서 INPUT과 INPUT_PULLUP의 차이를 설명하라.
INPUT_PULLUP가 가지는 장점은 무엇인가? (10)
- INPUT과 INPUT_PULLUP은 digital 입력을 받는다는 관점에서는 동일하지만 주변 회로
구성에서 차이가 난다. INPUT으로 설정하면 위 문제에 있는 회로처럼 저항과 5 V 전원
으로 입력 회로를 구성해야 한다. 하지만 INPUT_PULLUP은 접지만 연결하면 되므로 회
로 구성이 INPUT보다 매우 간단하다.
또한 INPUT_PULLUP은 Arduino board에 접지만 인가하므로, INPUT보다는 Arduino
board를 더욱 잘 보호할 수 있다.
2. Arduino Sketch 언어를 이용해 다음 작업을 programming하시오. Code는 짧을수록
가산점 부여. 여기서 serial port 연결 속도는 9600 bps. (60)
1) 문자 ‘@’를 이용해 다음과 같은 연산자를 만들었다: a @ b = 2*a*a + 3*b*b. 문자열
을 입력받아 연산자 @를 계산하는 code를 작성하라. StringTok class 사용 가능. (20)
#include <StringTok.h>
void setup() {
Serial.begin(9600);
}
void loop() {
StringTok stInput; scans(stInput);
double ans = getNewOp(stInput);
Serial.println(ans);
}
double getNewOp(StringTok & stInput) {
StringTok stToken;
stToken = stInput.getToken();
double a = stToken.toDouble();
stToken = stInput.getToken();
char op = stToken[0];
stToken = stInput.getToken();
double b = stToken.toDouble();
if (op == ‘@’) return 2.*a*a + 3.*b*b.
else return 0.;
}
2) 사용자에게 자연수를 입력 받아서 입력 받은 회수만큼 D13번에 연결된 LED를
On/Off하는 code를 작성하라. 단 On/Off 주기는 처음에 1초, 그 다음 2초 등과 같이 계
속 해서 1초씩 증가해야 함. (20)
#include <StringTok.h>
void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT);
}
void loop() {
int nCount; scans(nCount);
for (int i = 0; i < nCount; i++) setOnOff(i + 1);
}
void setOnOff(int nSec) {
digitalWrite(13, HIGH);
delay(nSec*500);
digitalWrite(13, LOW);
delay(nSec*500);
}
3) A0에서 analog 전압을 입력 받는다. Analog 전압은 0 ~ 5 V까지 변함. 전압이 4 ~ 5
V까지는 “normal”을 Serial로 출력하고, 2 ~ 4 V까지는 “weak”, 0 ~ 2 V 범위는 “empty”
를 출력하는 code를 작성하라. (20)
void setup() {
Serial.begin(9600);
}
void loop() {
int nVolt = analogRead(A0);
double volt = map(nVolt, 0, 1023, 0, 5000)/1000.;
if (volt <= 2.) Serial.println(“empty”);
else if (volt <= 4.) Serial.println(“weak”);
else Serial.println(“normal”);
delay(1000);
}

More Related Content

PDF
[KOSSA] C++ Programming - 13th Study - exception handling
PDF
[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기
PPTX
Startup JavaScript 3 - 조건문, 반복문, 예외처리
PDF
2.Startup JavaScript - 연산자
PDF
Effective Modern C++ MVA item 18 Use std::unique_ptr for exclusive-ownership ...
PPTX
Startup JavaScript 6 - 함수, 스코프, 클로저
PPTX
javascript02
PDF
[C++ Korea] Effective Modern C++ MVA item 8 Prefer nullptr to 0 and null +윤석준
[KOSSA] C++ Programming - 13th Study - exception handling
[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기
Startup JavaScript 3 - 조건문, 반복문, 예외처리
2.Startup JavaScript - 연산자
Effective Modern C++ MVA item 18 Use std::unique_ptr for exclusive-ownership ...
Startup JavaScript 6 - 함수, 스코프, 클로저
javascript02
[C++ Korea] Effective Modern C++ MVA item 8 Prefer nullptr to 0 and null +윤석준

What's hot (20)

PDF
Data Structure - 1st Study
PDF
C++ Concurrency in Action 9-2 Interrupting threads
PDF
[C++ Korea] Effective Modern C++ mva item 7 distinguish between and {} when c...
PDF
[C++ Korea] Effective Modern C++ MVA item 9 Prefer alias declarations to type...
PDF
[C++ korea] effective modern c++ study item 7 distinguish between () and {} w...
PDF
Es2015 Simple Overview
PPTX
Startup JavaScript 4 - 객체
PPTX
Startup JavaScript 5 - 객체(Date, RegExp, Object, Global)
PDF
2. c언어의 기본
PPTX
[C++ korea] effective modern c++ study item8~10 정은식
PPTX
[devil's camp] - 알고리즘 대회와 STL (박인서)
PDF
Ch11
PDF
Ch10
PDF
Unity Surface Shader for Artist 04
PPTX
Visual studio 2010
PDF
어플 개발자의 서버개발 삽질기
PDF
10. pointer & function
PPTX
[170517 5주차]C언어 A반
PPTX
포트폴리오에서 사용한 모던 C++
PPTX
[170410 3주차]C언어 A반
Data Structure - 1st Study
C++ Concurrency in Action 9-2 Interrupting threads
[C++ Korea] Effective Modern C++ mva item 7 distinguish between and {} when c...
[C++ Korea] Effective Modern C++ MVA item 9 Prefer alias declarations to type...
[C++ korea] effective modern c++ study item 7 distinguish between () and {} w...
Es2015 Simple Overview
Startup JavaScript 4 - 객체
Startup JavaScript 5 - 객체(Date, RegExp, Object, Global)
2. c언어의 기본
[C++ korea] effective modern c++ study item8~10 정은식
[devil's camp] - 알고리즘 대회와 STL (박인서)
Ch11
Ch10
Unity Surface Shader for Artist 04
Visual studio 2010
어플 개발자의 서버개발 삽질기
10. pointer & function
[170517 5주차]C언어 A반
포트폴리오에서 사용한 모던 C++
[170410 3주차]C언어 A반
Ad

Similar to TestBCD2018-2(answer) (20)

PDF
아두이노 2015-2 한동대학교 공학설계입문
PPTX
#아두이노 초급연수
PDF
[SOPT] 데이터 구조 및 알고리즘 스터디 - #02 : 스택, 큐, 수식 연산
PDF
원준갓의 IoT 수업
PPTX
[엄마정치 메이커팀] 두번째 모임_2018_01_27
PDF
사칙연산 프로그램
PPTX
2017 Software Edu Fest - 생활속데이터 이야기 @ 세상을 변화시키는 소프트웨어 기술
PDF
IoT 해커톤 교육 3일차
DOCX
Test-SDIC2018-1(Answer)
PDF
창조경제 IoT 해커톤 교육 2일차 교육 자료
PDF
Cpp 0x kimRyungee
PPTX
메이커 페어 서울 2018 - 측우자격루(개발자용)
PDF
창조경제 IoT 해커톤 교육 4일차
PDF
Swift의 함수와 메소드
PPTX
모던 C++ 정리
PPT
Tcpdump
PDF
Aperture : 3&4. 조도센서를 이용한 led 밝기 제어하기
PDF
2 1. variables & data types
PPTX
20150212 c++11 features used in crow
PPTX
불어오는 변화의 바람, From c++98 to c++11, 14
아두이노 2015-2 한동대학교 공학설계입문
#아두이노 초급연수
[SOPT] 데이터 구조 및 알고리즘 스터디 - #02 : 스택, 큐, 수식 연산
원준갓의 IoT 수업
[엄마정치 메이커팀] 두번째 모임_2018_01_27
사칙연산 프로그램
2017 Software Edu Fest - 생활속데이터 이야기 @ 세상을 변화시키는 소프트웨어 기술
IoT 해커톤 교육 3일차
Test-SDIC2018-1(Answer)
창조경제 IoT 해커톤 교육 2일차 교육 자료
Cpp 0x kimRyungee
메이커 페어 서울 2018 - 측우자격루(개발자용)
창조경제 IoT 해커톤 교육 4일차
Swift의 함수와 메소드
모던 C++ 정리
Tcpdump
Aperture : 3&4. 조도센서를 이용한 led 밝기 제어하기
2 1. variables & data types
20150212 c++11 features used in crow
불어오는 변화의 바람, From c++98 to c++11, 14
Ad

More from Yong Heui Cho (20)

PPTX
Android - Sensor Manager
PPTX
Android - Broadcast Receiver
PPTX
Android - Message
PPTX
Cloud Computing
PPTX
Computing Paradigm
DOCX
TestSDS2018-2(answer)
DOCX
TestEC2018-2(answer)
DOCX
TestEC2018-1(answer)
DOCX
TestBCD2018-1(answer)
DOCX
TestSDS2018-1(answer)
PPTX
BJT - Analysis of Bias
DOCX
TestCloud2018-2(answer)
DOCX
TestECD2018-1(answer)
DOCX
Test-SDIC2018-2(answer)
DOCX
TestCloud2018-1(answer)
PPTX
Cloud Service Model
DOCX
RF 증폭기 설계(Design of RF Amplifier)-rev1
PPTX
Computing Paradigm - rev1
PPTX
Cloud Deployment Model
PPTX
Cloud Computing Architecture
Android - Sensor Manager
Android - Broadcast Receiver
Android - Message
Cloud Computing
Computing Paradigm
TestSDS2018-2(answer)
TestEC2018-2(answer)
TestEC2018-1(answer)
TestBCD2018-1(answer)
TestSDS2018-1(answer)
BJT - Analysis of Bias
TestCloud2018-2(answer)
TestECD2018-1(answer)
Test-SDIC2018-2(answer)
TestCloud2018-1(answer)
Cloud Service Model
RF 증폭기 설계(Design of RF Amplifier)-rev1
Computing Paradigm - rev1
Cloud Deployment Model
Cloud Computing Architecture

TestBCD2018-2(answer)

  • 1. 2018 Final-term Examination (100) Basic Computer Design Date: 2018-12-13 1. 오른쪽 회로를 고려하라. (40) 1) Switch 개폐에 따라 D2에 입력되는 전압을 쓰고 이유를 설명하라. (10) - Switch open: 0 V 회로가 끊어져 전류가 흐르지 않기 때문에 접 지에 있는 전압이 저항을 통과해서 D2 지점에 그대로 나타남 - Switch closed: 5 V 회로가 연결되어 전류가 흐르기 때문에 5 V에 서 전달한 전압이 D2에 그대로 나타남 2) Switch가 닫힌 경우는 Serial로 “on”을 출력하고, 열린 경우는 “off”를 출력하는 code 를 작성하라. 여기서 serial port 연결 속도는 9600 bps, setup()과 loop()가 반드시 있어 야 함. (20) void setup() { Serial.begin(9600); pinMode(2, INPUT); } void loop() { int nVolt = digitalRead(2); if (nVolt == HIGH) Serial.println(“on”); else Serial.println(“off”); delay(1000); }
  • 2. 3) 이를 바탕으로 pinMode() 함수에서 INPUT과 INPUT_PULLUP의 차이를 설명하라. INPUT_PULLUP가 가지는 장점은 무엇인가? (10) - INPUT과 INPUT_PULLUP은 digital 입력을 받는다는 관점에서는 동일하지만 주변 회로 구성에서 차이가 난다. INPUT으로 설정하면 위 문제에 있는 회로처럼 저항과 5 V 전원 으로 입력 회로를 구성해야 한다. 하지만 INPUT_PULLUP은 접지만 연결하면 되므로 회 로 구성이 INPUT보다 매우 간단하다. 또한 INPUT_PULLUP은 Arduino board에 접지만 인가하므로, INPUT보다는 Arduino board를 더욱 잘 보호할 수 있다. 2. Arduino Sketch 언어를 이용해 다음 작업을 programming하시오. Code는 짧을수록 가산점 부여. 여기서 serial port 연결 속도는 9600 bps. (60) 1) 문자 ‘@’를 이용해 다음과 같은 연산자를 만들었다: a @ b = 2*a*a + 3*b*b. 문자열 을 입력받아 연산자 @를 계산하는 code를 작성하라. StringTok class 사용 가능. (20) #include <StringTok.h> void setup() { Serial.begin(9600); } void loop() { StringTok stInput; scans(stInput); double ans = getNewOp(stInput); Serial.println(ans); } double getNewOp(StringTok & stInput) { StringTok stToken; stToken = stInput.getToken(); double a = stToken.toDouble(); stToken = stInput.getToken();
  • 3. char op = stToken[0]; stToken = stInput.getToken(); double b = stToken.toDouble(); if (op == ‘@’) return 2.*a*a + 3.*b*b. else return 0.; } 2) 사용자에게 자연수를 입력 받아서 입력 받은 회수만큼 D13번에 연결된 LED를 On/Off하는 code를 작성하라. 단 On/Off 주기는 처음에 1초, 그 다음 2초 등과 같이 계 속 해서 1초씩 증가해야 함. (20) #include <StringTok.h> void setup() { Serial.begin(9600); pinMode(13, OUTPUT); } void loop() { int nCount; scans(nCount); for (int i = 0; i < nCount; i++) setOnOff(i + 1); } void setOnOff(int nSec) { digitalWrite(13, HIGH); delay(nSec*500); digitalWrite(13, LOW); delay(nSec*500); } 3) A0에서 analog 전압을 입력 받는다. Analog 전압은 0 ~ 5 V까지 변함. 전압이 4 ~ 5 V까지는 “normal”을 Serial로 출력하고, 2 ~ 4 V까지는 “weak”, 0 ~ 2 V 범위는 “empty” 를 출력하는 code를 작성하라. (20)
  • 4. void setup() { Serial.begin(9600); } void loop() { int nVolt = analogRead(A0); double volt = map(nVolt, 0, 1023, 0, 5000)/1000.; if (volt <= 2.) Serial.println(“empty”); else if (volt <= 4.) Serial.println(“weak”); else Serial.println(“normal”); delay(1000); }