3장 - C프로그래밍 환경
문서 편집: vi편집기 vi의 동작모드 명령모드: (ESC,ENTER) 커서이동,페이지이동,글자삭제,줄 삭제 등 입력모드: i,I,a,A,o,O 마지막행 모드: (/,?,:) 검색, 저장, 바꾸기,줄 이동 등 저장 및 종료명령 :w [파일명] : 저장, 파일명을 지정할 시 지정한 파일명으로 저장 :q! 저장하지 않고 종료 :wq! 저장하고 종료 ZZ 저장하고 종료 내용 삭제 및 취소 x 문자삭제 D 커서 위치부터 줄 끝까지 삭제 u 방금 수행한 명령 취소 dd 현재 줄 잘라내기 복사, 잘라내기, 붙이기 yy 현재 행 복사 p 붙여넣기 범위지정 방법 % 모든 줄 1,$ 첫 줄에서 마지막 줄까지 .,$ 현재 줄에서 마지막 줄까지 10,20 뭐 요런식.. 검색 기능 /문자열 : 현재 위치부터 파일의 아래 방향..
2022. 10. 7.
3. LCD Display
우리가 어떻게 LCD를 컨트롤 할것인가? 8bit = 1Byte 글자 한 개를 표현하는 데 8비트가 필요하다. (글자-비트 표를 보고 어떤 글자가 이진수로 어떻게 표현되는지 알 수 있음) 3.1) LCD module using input/output pins 5V,GND핀을 각각 Vcc, G핀에 연결한다 RS,E,D4,D5,D7 핀을 아두이노 2,3,4,5,11,12핀에 연결한다 LCD 라이브러리 제공 함수 LiquidCrytral lcd(rs,enable,d4,d5,d6,d7) : LiquidCrytral형 객체를 생성함 lcd.begin(column,row): LCD 크기를 지정함 lcd.clear() : 커서를 맨 위 왼쪽으로 옮기고 내용 삭제 lcd.home() : 커서를 맨 위 왼쪽으로 옮김 l..
2022. 9. 28.
2장 - 희소 행렬(Sparse Matrix)의 표현
행렬에 0이 많이 포함된 경우에 희소행렬이라고 한다. 배열에 희소행렬을 그대로 표현할 경우 공간낭비가 심하게 된다. 낭비되는 공간을 줄이기 위한 방법은 어떤게 있을까? 이차원 배열에 표현된 희소행렬을 (행,열,값)으로 묶어 표현하는 방법이 있다 1 0 0 0 0 5 0 0 0 이런 배열일 있다고 하자. 이 때 (행,열,값)으로 묶어 표현하면 [(0,0,1),(1,2,5)] 로 적을 수 있겠다. 근데 이 방법이 항상 효율적인건 아니다. n*n의 행렬이 있을 때, 0이 아닌 값이 k개 있다고 하자 2차원 배열로 행렬을 그대로 표현하면 n^2의 공간이 필요할 것이며 (행,열,값)으로 묶어 표현하면 3*k의 공간이 필요할 것이다. 이 방법이 효율적일 때는 k 다음시간에 계속..
2022. 9. 25.
2장 - 다항식의 덧셈 구현하기
C언어에서 다항식을 구현하는 방법 방법1: 모든 지수의 계수들을 내림차순으로 저장 #define MAX_DEGREE 101 typedef struct{ int degree; float coef[MAX_DEGREE]; }polynomial; 예시) 2x^3 + x^2 -1 [3, (2,1,0,-1)] [최고차항 지수, (계수들 순서대로)] 또다른 예시로 x^100 +1이라는 식이 있을 때, 이 방법으로 저장하기 위해선 [100,(1,0,0,0,0.....0,0,0,0,1)]을 저장해야하는데, 계수가 0인 항이 많은 경우 메모리 낭비가 심하다. 방법 2: 지수와 계수를 모두 저장 #define MAX_TERMS 100 typedef struct{ float coef; int expon; }polynomial..
2022. 9. 25.