School Lecture Study 48

[5-1] Overflow / Multiplication

주어진 범위를 넘어가는 것이 overflow * addition의 경우 - 양수와 음수 덧셈 : no overflow (범위가 벗어나지 않음. 0으로 가까워짐) - 양수와 양수 덧셈 : Overflow if result sign is 1 (부호가 -가 될 가능성 있음) - 음수와 음수 덧셈 : Overflow if result sign is 0 (부호가 +가 될 가능성 있음) subtraction의 경우 - 양수 양수, 음수 음수 뺄셈 : no overflow - 양수-음수 뺄셈 : Overflow if result sign is 0 (부호가 +가 될 가능성 있음) - 음수-양수 뺄셈 : Overflow if result sign is 1 (부호가 -가 될 가능성 있음) * Dealing With Ove..

SQL 문 정리

create table 테이블 이름( column의 이름 data 타입 == 무결성 제약 == ) Ex) create table instructor( ID char(5), name varchar(20), dept_name varchar(20), salary numeric(8, 2) ); ** char는 고정 길이, varchar는 가변길이 의미 ** numeric(전체 자릿수, 소수점 자릿수) primary key, foreign key도 명시 가능 Ex) create table instructor( ID char(5), name varchar(20) not null, 테이블 자체를 삭제 (자주 쓰이진 않음) - Alter : alter table 기존 테이블 컬럼들 add 추가할컬럼 추가할컬럼의 dat..

[3-3] Immediate Operands & Integer Wrapping & 보수

Immediate Operands 이 부분은 아직 잘 이해를 못 했다. 즉시 계산인가? -> 상수를 레지스터에 따로 넣지 않고 바로 계산하는 것을 Immediate Operands 라고 한다. Constant data specified in an instruction addi 키워드 사용 (빼기는 없음) Ex) addi $s3, $s3, 4 // s3 = s3 + 4 - MIPS $0은 상수 0을 값으로 갖는다. 너무 자주 쓰여서 정의해놓음. $0에는 값을 덮어쓸 수 없다. Ex) add $t2, $s1, $zero // t2 = s1 값 이동을 addi로 구현 가능하다. (근데 여기 addi 아닌가 싶다) Unsigned Binary Integers Range는 0부터 2^n -1 8bits -> 0 ..

[3-2] Arithmetic Operations in MIPS

** 공부한 내용을 까먹을까봐 한글로 작성하는 글입니다. ** 강의 내용을 잘못 이해했을 수 있습니다. (지적 환영) Add and subtract, three operands - 두 개의 변수와 두 변수를 더한 값을 저장하는 destination이 존재한다. - Regularity가 구현을 간단하게 만든다. - Simplicity enables higher performance at lower cost (번역하는 것보다 이 문장이 나은 듯) Ex) add a, b, c // a = b + c Ex) a = b + c + d; --> add a, b, c // a = b + c add a, a, d // a + d ▶ C code = f = (g + h) - (i + h); --> compiled MIP..

[알고리즘] 연결리스트 문자열 삽입

계절 알고리즘 수업을 듣는데, 2일 간은 자료 구조 수업을 한다고 하셔서 이번 주 과제는 연결리스트였다. 지금까지 연결리스트 입력을 숫자로만 받아봤는데, 이번에는 문자열을 받는 과제였다. #include #include typedef struct Node { char* name; char* depart; char* grade; char* gender; struct Node* next; } Node; void insertNode(Node *student, char*name, char*depart, char*grade, char*gender ) { Node* nextStudent = (Node*)malloc(sizeof(Node)); nextStudent->name = name; nextStudent->de..

[소프트웨어프로젝트] 과제 6

한 학기 동안 정말 별 생각이 다 들었던 소프트웨어프로젝트 과제 6을 올려보려한다. 해커톤 때문에 바빠서 과제 6은 제출 당일에 작성하게 되었는데, 10시간 정도 걸렸다. 막 걱정한 것 치고는 그렇게 어렵지는 않았는데, 교수님이 의도한 바를 잘 구현했는지는 잘 모르겠다. 그렇게 깔끔하게 짜지는 못한 것 같다. 교수님이 Java 스타일을 강조하셨는데, 이렇게 짠 것도 Java 스타일이라고 할 수 있을까 싶다. 과제를 하면서 고민했던 것은 어떻게 화면 갱신을 할까였다. 그냥 component에 revalidate, repaint만 하면 되는 줄 알았는데 전혀 갱신이 되지 않아서 고민했었다. 그래서 아예 JFrame에서 삭제하고 다시 add하는 방식으로 구현하였다. 다행히 이렇게 하니 구현되었다. 소프트웨어프..

[자료구조] max heap 응용

오랜만에 과제 글이다. 사실 과제가 중간에 있었는데 귀찮아서 안 썼다. 소프트웨어 프로젝트 과제를 여기 올리기에는 아직 안 끝나서... 자료구조만 올려보겠다. 누군가 이 글을 보고 있기는 한 지 모르겠지만, 난 코딩을 잘 못하므로 피드백을 환영합니다. 뭐든 더 효율적인 코딩은 있기 마련이니까요. 과제 제출일은 5/29이다. (지연 제출일까지 포함한 날짜이다.) 이후 공개로 전환할 예정이다. 사실 나도 오늘 한 거라 좀 양심이 없는 것 같기도 하고. 문제는 다음과 같다. 어떤 식당에 식탁 크기가 2인용과 4인용 두 종류가 있다고 하자. 고객으로는 개인고객과 단체고객 두 유 형이 있다. 고객은 개인 (즉, 1명) 또는 단체 (2명 또는 3명 또는 4명까지로 한정)로 와서 인원수가 충분 한 식탁이 빌 때까지 ..

[자료구조] Family tree 구현하기

컨닝 방지를 위해 과제 제출 기한이 모두 끝난 후에 공개 포스팅으로 전환할 생각이다. 이 과제의 마감일은 (지연 제출 마감일까지 포함한 날짜이다) 5/21이다. 실세계의 family tree를 구성하는 부모와 자식 관계를 입력받아 이를 binary tree에 저장하고 출력하는 프로그램을 아래와 같이 작성하시오. (a) 프로그램 실행이 시작되면 명령어 prompt “>>” 를 출력하고 데이터가 입력되기를 기다린다. (b) 입력 데이터의 형식은 xFy 또는 xMy 이고 enter 키를 눌러서 입력을 완료한다. 각각 x의 아버지는 y, x의 어머니는 y임을 의미한다. 사람의 이름 (즉, x, y 등)은 영어 소문자 1 char라고 가정한다. 동명 이인은 없다고 가정한다. 부모를 나타내는 F와 M은 대문자 1 ..