본문 바로가기

목록

(199)
환류 다이오드 Inductor는 모터나 Relay에 사용되며 전류의 변화를 싫어한다. 따라서 전류가 증가한다면 Inductor는 그 증가를 억제하는 방향으로, 전류가 감소한다면 그 감소를 억제하는 방향으로 역기전력이 발생한다. 아래는 역기전력을 식으로 나타낸 것이다. 위의 식으로 직류를 예로 들어보면, 직류에서는 전류의 변화가 없으므로 전류의 변화가 0이다. 따라서 역기전력이 0이 된다. 그림1은 환류 다이오드 회로를 나타낸 것이다. 트랜지스터(스위치 역할)가 ON되면 파란색과 같이 전류가 흐르게 된다. 그럼 트랜지스터(스위치 역할)를 OFF하면 어떻게 될까? 트랜지스터가 OFF되면 전류가 급격히 감소하기 때문에 Inductor는 전류를 계속 흘리려고 할 것이다. 그래서 그림2처럼 반대방향으로 +-가 형성된다(+에서 ..
TRIAC 동작 원리 그림1(a)은 TRIAC을 기호로 나타낸 것이고, 그림1(b)는 TRIAC과 똑같은 동작을 하는 스위치 회로로 나타낸 것이다. 그림1(b)에서 G와 T1간에 전압을 공급하지 않고, T1과 T2간에만 전압을 공급한다면, 그림2와 같이 전류가 흐르겠지만 R의 저항이 대단히 크기 때문에 전류는 거의 흐르지 않는다. 그러나 전압을 점점 높여서 어느 한도 이상을 넘으면 m1이 전자석이 되어 SW1의 철편을 끌어당기므로 그림3과 같이 SW1이 ON 상태로 된다. SW1이 ON상태로 되면, T1, T2간의 전류에 의하여 m2가 전자석이 되므로 그림4와 같이 SW2는 ON 상태가 된다. 위와 반대로 공급전압이 점점 낮아져서 어느 한도 이하가 되면 그림5처럼 SW1이 OFF로 된다. 주전극 간의 전압이 0V에 가까워지면..
은행계좌 관리 프로그램 버전5 프로그램 추가 조건 조건1) AccountHandler라는 이름의 컨트롤 클래스를 정의하고, 앞서 정의한 전역함수들을 이 클래스의 멤버함수에 포함시킨다. 조건2) Account 객체의 저장을 위해 선언한 배열과 변수도 이 클래스의 멤버에 포함시킨다. 조건3) AccountHandler 클래스 기반으로 프로그램이 실행되도록 main 함수를 변경한다. 조건4) 버전4의 코드를 가져와서 변경한다. 실행결과 코드 #include #include using namespace std; const int NAME_LEN = 20; enum { MAKE = 1, DEPOSIT, WITHDRAW, INQUIRE, EXIT }; /* * 클래스 이름: Account * 클래스 유형: Entity 클래스 */ class A..
C++언어 연습문제34 [문제] 아래의 main 함수를 참고하여 클래스를 수정하라. 조건1) 문제33의 클래스를 기본으로 할 것 조건2) 상속을 사용하지 말 것 int main(void) { Police pman1(5, 3); pman1.Shot(); pman1.PutHandcuff(); Police pman2(0, 3); pman2.Shot(); pman2.PutHandcuff(); return 0; } [실행결과] BBANG! SNAP! Hut BBANG! SNAP! [코드] #include using namespace std; class Gun { private: int bullet; public: Gun(int bnum) :bullet(bnum) {} void Shot() { cout
C++언어 연습문제33 [문제] 아래 main 함수를 참고하여 Gun, Police 클래스를 설계하라. 조건) 상속을 이용할 것 int main(void) { Police pman(5, 3); pman.Shot(); pman.PutHandcuff(); return 0; } [실행결과] BBANG! SNAP! [코드] #include using namespace std; class Gun { private: int bullet; public: Gun(int bnum) :bullet(bnum) {} void Shot() { cout
C++언어 연습문제32 [문제] 아래의 실행결과와 main함수를 참고하여 Person class와 UnivStudent class를 정의하라. 조건1) UnivStudent 는 유도 클래스로, Person은 기초 클래스로 정의하라. 조건2) 동적 할당을 사용하라. int main(void) { UnivStudent ust1("Kim", "Mathematics"); ust1.WhoAreYou(); UnivStudent ust2("Yoon", "Physics"); ust2.WhoAreYou(); return 0; } [실행결과] My name is Kim My major is Mathematics My name is Hong My major is Physics [코드] #include using namespace std; clas..
C++언어 연습문제31 [문제] 아래의 실행결과와 main함수를 참고하여 Person class와 UnivStudent class를 정의하라. 조건) UnivStudent 는 유도 클래스로, Person은 기초 클래스로 정의하라. int main(void) { UnivStudent ust1("Lee", 22, "Computer eng."); ust1.WhoAreYou(); UnivStudent ust2("Yoon", 21, "Electronic eng."); ust2.WhoAreYou(); return 0; } [실행결과] My name is Lee I'm 22 years old My major is Computer eng. My name is Yoon I'm 21 years old My major is Electronic e..
C++언어 연습문제30 [문제] 아래의 실행결과가 나오도록 클래스와 main함수를 구성하라. 조건1) 정규직 직원에 대한 PermanentWorker 클래스를 정의할 것 조건2) 기능의 처리를 실제로 담당하는 EmployeeHandler 컨트롤 클래스를 정의하고 아래의 기능의 함수를 추가할 것 - 새로운 직원정보의 등록: AddEmployee - 모든 직원의 이번 달 급여정보 출력: ShowAllSalaryInfo - 이번 달 급여의 총액 출력: ShowTotalSalary [실행결과] name: KIM salary: 1000 name: LEE salay: 1500 name: JUN salay: 2000 salary sum: 4500 [코드] #include using namespace std; class PermanentWo..