목록전체 글 (424)
오래 못 할 짓 하지 않기

+벤다이어 그램 그리기 ↔ 식 분석 가능하게 하기 Truth Table을 식으로 정리하기 A와 B가 입력이고, X가 출력이다. - X=1일 때는 A와 B가 다를 때, 혹은 둘 중에 하나만 참일 때이다. 이걸 식으로 바꿔본다면, X = A'B + AB' 이다. - x'는 어떻게 표현할까? x'는 두 개가 같을 때 이므로 x' = A'B' + AB x = (x')' 이므로 (A'B'+AB)' = (A'B')'(AB)' = (A+B)(A'+B')가 된다. Truth tabal > 식 변환하는 법 두 개가 있음 1. Output =1 로 만드는 것들을 AND로 묶은 뒤에 그것들을 OR로 합하기 2. Output =0 로 만다는 것들을 OR로 묶은 뒤에 그것들을 AND로 합하기 F = x+yz F' = (x +y..

Recursion - 자기 자신(Function body)을 Call 하는 것 - 반복이긴 하지만 for나 while이 아닌 call and return방식으로 반복 - 구성 요소 : Base case ( n==0 or n==1 일 때, ~~) + General Case - 접근법 : 어느 단계의 값(n)은 한 단계 이전의 결과값(n-1)에서 어떤 차이가 있는지 분석하여 만든다. Queues → First In, First Out - 연산: Insert , Delete(하나 꺼낸다 라는 표현이 더 맞음) Create Queues (array) Full , Empty 1) Create - Data 형식 - Array - Front 랑 rear 설정 -> Insert 후, rear++ / Delete 후 F..

입력 a, b, c와 출력 f가 있다. a는 마스터 스위치 b, c는 그 뒤에 있는 스위치들이다. 1은 on , 0은 off 일 때, 표를 분석할 줄 알아야 하고, 회로를 그려보자. A display driver - 4비트를 사용하여 숫자 시그널을 나타냄 ex) 디지털 시계 , 엘리베이터 층 나타내는 LED Boolean Algebra - Boolean Operators And - Output L(x1,x2) = x1*x2 x1 = 1 이고(and) x2 = 1이면 L =1 otherwise, L=0 ( *연산자는 1로 규정된다 ) Or - Output L(x1,x2) = x1+x2 x1 = 1 이거나(or) x2 = 1이면 L =1 둘 다 0이면 0 ( + 연산자는 0으로 규정된다 ) Not - Out..

Strings - 문자열 → 길이 (데이터,메모리) 낭비 문제가 발생한다. → C++ String 라이브러리에서는 길이를 신경 쓰지 않기 때문에 → Char [@]면 입력 시 가장 마지막은 'NULL' = NULL까지 유효하게 인정. = String 에서는 NULL 신경 X 1. C언어에서는 (String이 없어서) array의 형태로 선언해야 한다. ex) char[20] # 추가공간까지 고려해야 한다. 2. 개별 원소를 단일 문자 취급 가능 ex) str[3] = 'K' 3. 초기화 가능. 배열 10칸에서 문자 4개만 입력하면 t,e,s,t,\0 이렇게 5개 초기화됨 4. String 연산 library 사용 가능(strcpy or strncpy) C-string char str[20]; Input ..

(signed) 2진법에서 임의의 수의 음수 구하는 법 = 보수 구하는 법 1 → 0 , 0 → 1 로 바꾸고, 그 값에서 1을 더해준다. (signed) 1진법에서 임의의 수의 음수 구하는 법 = 보수 구하는 법 1 → 0 , 0 → 1 로 바꾼다. (+ 음수를 양수로 바꿀 땐 반대로) 2의 보수 덧셈법 : 1) 주어진 식을 더한다. 2) 자리 올림이 발생하면 그걸 삭제한다. 1의 보수 덧셈법 : 1) 2진법과 동일하게 더한다. 2) 자리 올림이 발생할 경우 (생기면, 1이 발생할 수밖에 없음), 자리 올림 값을 더한다. 1을 더하는 이유: 1's complement circle을 보면 (Carry out이 생기면) 0이 2개가 있어서 칸이 하나씩 밀림. 이럴 경우에 1을 더해서 (1칸을 더해서) 자리..

Constructor - 생성자 → Class 의 Object가 생성될 때 자동으로 실행됨 → Class 안에서 / Class name과 같은 / Return type이 없는 형태로 구현됨 정의는 Class 밖에서 my class :: my class(){} 로 구현... → 주로 Class 기초, 초기에 실행해야하는 것들을 Constructor 에서 함 (초기값 설정, 변수 설정) ex) Stack에서 Top의 초기값 =0으로 설정하는 것 Stack 응용 (할 줄 알아야함 시험에 나온다고 함) Expression (수식) 표현법 1 ) infix → a+b →부호가 숫자 2개 안(in)에 2 ) prefix → +ab →부호가 숫자 2개 앞(pre)에 3 ) post → ab+ →부호가 숫자 2개 뒤(..

// 다음 랩에서는 상속 그리기 한다고 함. 정리하면서 연습해 보기 인터페이스 - 기능: 클래스에서 Object가 해야 하는 어떤 행동과 Standard를 정리해 놓은 큰 틀 → 객체(=클래스) 사용 방법의 가이드라인클래스들이 반드시 수행해야 하는 메소드들을 정리해 놓은 것 (뼈대라고 생각하셈) Ex) 블루투스 이어폰 1. 인터페이스 : “블루투스 이어폰이면 Play_music() / Connected_check / …이 있어야 함. “ 2. 따라서 여러 블루투스 이어폰 ( 에어팟, 버즈 , QCY ) 등의 블루투스 이어폰들은 위 인터페이스에서 만든 블루투스 이어폰 클래스를 implements 받고, Play_music() / Connected_check / …가 있어야 함 [ A Implements B..

Inheritance 란? - Super Class(부모 클래스)가 있고 그 밑에 생성된 sub class(자식 클래스)는 상위클래스를 상속받아 그 기능을 그대로 쓸 수 있다. - 중복으로 클래스 정의하는 상황을 피할 수 있음. - 주로 공통된 항목들이 부모 클래스에 들어간다. ex) 자전거를 예로 들어보자. 어느 자전거든 기어,브레이크,페달,바퀴 이런 것들이 들어간다. 그리고 점점 구체적인 기능을 더하면 더할수록 내용들이 달라짐. → 같은 기능,상태인 것들까지는 계속 긁어와서 쓸 수 있도록하는 게 상속의 역할 ex) A = 기어+브레이크+페달+바퀴라고 생각해보면 MTB : A( (단단한) 기어 + (어떤 상황에서도 잘 밟히는) 브레이크 + (돌이 안 걸리는) 페달 + (날카로운 것에 내성이 있고 마찰력..
Java는 Object-oriented 프로그램이다. 그 개으로는 크게 5가지가 있는데 1. Objects - Class를 사용해여 생성된 객체 2. Classes - Object를 만들기 위한 틀같은 개념 3. Inheritance - 상속: 이미 만든 클래스가 다른 클래스에서 필요할 때, 다시 쓰지않고 가져올 수 있음 4. Interfaces - 클래스에서 Object가 해야하는 어떤 행동과 Standard를 정리해 놓은 큰 틀 ex) 블루투스 이어폰은 connected_check , play_music 행동이 있어야 한다. 5. Packages - 완벽히 이해하면 업데이트 하겠음 Object Object는 두 가지 특징 1. State 2. Behavior + 주로 state = data를 저장하고..
C++ = C + 객체지향 (OOP = 주로 Class로 구현됨) C++ 특징 : Structure 와 Class를 기본 구조 : #include using namespace std; 이 두 개는 그냥 박아놓고 시작. main - cout 타입은 다른 말 안 하고 출력한다고 하면 선언된 데이터 타입으로 출력함 활용 : cout 3 등 부등호들) → logical (x==True&&... 등 and or not) ## Short Cirucit evaluation Evaluation 과정에서 결과값이 확정되면 나머지 뒤에 값들을 그냥 버리고 감 → 뒤에 안 봐도 앞에 거 때문에 다 통과 될 것들이면 넘긴다 라고 생각. Type conversion : 서로 다른 type의 data 연산 case 1 → 용량 ..