4. 순차화일 DBLAB, SNU v 순차화일 (sequential file) u 정의 레코드들을조직하는가장기본적인방법 화일생성시레코드들을연속적으로저장하기때문에레코드들을접근할때도저장순서에따라연속적으로접근하는것이효율적 스트림화일 (stream file) u 레코드저장기준

Size: px
Start display at page:

Download "4. 순차화일 DBLAB, SNU v 순차화일 (sequential file) u 정의 레코드들을조직하는가장기본적인방법 화일생성시레코드들을연속적으로저장하기때문에레코드들을접근할때도저장순서에따라연속적으로접근하는것이효율적 스트림화일 (stream file) u 레코드저장기준"

Transcription

1 4. 순차화일 DBLAB, SNU v 순차화일 (sequential file) u 정의 레코드들을조직하는가장기본적인방법 화일생성시레코드들을연속적으로저장하기때문에레코드들을접근할때도저장순서에따라연속적으로접근하는것이효율적 스트림화일 (stream file) u 레코드저장기준에의한종류 입력순차화일 (entry-sequenced file) 레코드가입력되는순서대로저장, heap file, pile file 키순차화일 (key-sequenced file) 레코드의특정필드값순서에따라저장 DBLAB, SNU 2

2 v 스트림화일 (stream file) u 특성 데이타가하나의연속된바이트스트림 (byte stream) 으로구성 연속적인판독연산을통해레코드가화일에저장되어있는순서에따라데이타를접근 u 종류 순차접근스트림화일 (sequential access stream file) 순차접근만허용 임의접근스트림화일 (random access stream file) 임의접근이허용 u 화일접근모드 (access mode) 화일개방시수행하려는연산을명세 : 판독 (read), 기록 (write), 갱신 (read/write), 첨가 (append) 등 DBLAB, SNU 3 순차접근스트림화일 u 판독 (read) 스트림화일을판독 (read) 모드로열면판독포인터는화일의첫번째바이트를가리킴. 판독연산 해당위치에서시작하여해당바이트를전송하고, 판독포인터를스트림화일의다음바이트의시작위치로변경. n번째바이트를판독하기위해서는반드시 (n-1) 번째바이트를판독해야함. u 기록 (write) 화일을기록 (write) 모드로열면기록포인터는화일의첫번째바이트가기록될위치를가리킴. 기록연산 해당위치에서시작하여해당바이트값을기록하고, 기록포인터를다음바이트가기록될위치로변경. n번째바이트를기록하기위해서는반드시 (n-1) 번기록연산을수행해야함. DBLAB, SNU 4

3 순차접근스트림화일 u C 언어를이용해 streamfile이라는스트림화일을생성 함수호출문 fopen(filename, mode) 은화일을개방하거나화일이없으면생성해서화일포인터 (file pointer) 를반환 화일이개방되면화일포인터가화일이름대신사용됨 streamfp = fopen( streamfile, w ); 화일이공백인경우에는공백스트림화일을생성하고개방 streamfp는화일포인터 mode에는 r (read), w (write), a (append) 등 화살표는판독 / 기록위치를표현하는인덱스 streamfile??????? index : DBLAB, SNU 5 순차접근스트림화일 함수호출문 fputc() 로스트림화일에한문자씩기록 fputc(ch,streamfp) 를연속적으로사용하여문자 S, M, I, T, H 값을입력하면다음과같은 streamfile 이생성. ch 는문자에대한정수값 streamfp 는 streamfile 에대한화일포인터 S streamfile M I T H?? index : DBLAB, SNU 6

4 순차접근스트림화일 함수호출문 fclose(filepointer) 로화일을폐쇄 fclose(streamfp); 화일포인터 streamfp 가지시하는화일 streamfile 을폐쇄. end-of-file( ) 표시가화일끝에첨가 S streamfile M I T H index : 연속적으로화일을접근하고, 화일에있는모든바이트를처리하는경우에유용 ( 즉배열과유사 ) DBLAB, SNU 7 임의접근스트림화일 u 화일의시작, 끝, 현재의판독 / 기록위치로부터오프셋 (offset) 값을이용하여이전의바이트를접근하지않고직접접근 판독 / 기록위치인덱스를이동 u 임의접근을위한함수 fseek(filepointer, offset, WhereFrom) WhereFrom은 SEEK_SET, SEEK_END, SEEK_CUR 중하나 화일스트림에서판독 / 기록위치인덱스를변경하는데사용 ftell(filepointer) 파일스트림에서현재의판독 / 기록위치인덱스값을반환하기위해사용 DBLAB, SNU 8

5 임의접근스트림화일 u r ( 판독 ) 모드로개방한스트림화일 streamfp = fopen( streamfile, r ); 화일이개방되면판독위치인덱스는첫번째바이트를가리키게설정 S streamfile M I T H index : ftell(streamfp) 현재의판독 / 기록인덱스값을반환 현재 streamfile 의판독 / 기록인덱스값이 0 이므로, 0 이반환됨. DBLAB, SNU 9 임의접근스트림화일 fseek(streamfp, 2, SEEK_SET); 시작위치 (SEEK_SET) 로부터판독인덱스를 2 바이트 (offset) 만큼이동시킴. SEEK_SET: 시작위치 SEEK_END: 끝위치 SEEK_CUR: 현재위치 S streamfile M I T H index : ftell(streamfp) 현재판독인덱스값이 2 이므로, 2 가반환됨. DBLAB, SNU 10

6 v 입력순차화일 (entry-sequenced file) u 히프화일 (heap file), 파일화일 (pile file) 이라고도함 데이타가입력되는순서대로저장된화일 레코드에대한분석, 분류, 표준화과정을거치지않음 필드의순서, 길이등에제한없음 레코드의길이, 타입이일정하지않음 레코드 : < 필드, 값 > 5 개의레코드예 분리문자 (delimiter) SNUMBER = 1234 #SNAME = 홍길동 #SEX = 남 #IQ = 130; SNUMBER=1234 #WEIGHT=60; CITY = 서울 #POPULATION = 800만 ; SNAME = 김철수 #HEIGHT = 170 #AGE = 30; DEPARTMENT = 전산과 #NUMBER_OF_PROCESSOR = 10; DBLAB, SNU 11 v 입력순차화일 삽입작업 삽입되는레코드는화일의끝에첨가 검색작업 주어진탐색매개변수 (search parameter) 의값과이에대응하는화일레코드필드값을화일시작부터비교하여레코드를선정하고, 선정된레코드에서원하는필드값을검색 키필드 (key field) : 레코드선정시탐색매개변수와대응되는데이타필드 탐색키필드 (search key field) : 탐색매개변수의필드 DBLAB, SNU 12

7 v 입력순차화일 삭제, 변경작업 새로운순차화일을동시에생성하면서수행 삭제작업삭제대상레코드를탐색하면서기존의레코드를새로운화일로출력해당레코드선정시나머지레코드들을그대로새로운화일로출력 변경작업삭제대상레코드를탐색하면서기존의레코드를새로운화일로출력해당레코드선정시레코드의값을변경하고새로운화일에출력나머지레코드들은그대로새로운화일에출력 입력순차화일응용예 데이타를처리하기전에임시로수집만해놓는경우 화일조직을결정하지못한경우 화일의용도가결정되지않은경우데이타은행 (data bank) 화일조직의변경과정에서중간단계의화일형태로이용 DBLAB, SNU 13 v 키순차화일 (key-sequenced file) u 키순차화일 (key-sequenced file) 저장장치에서의레코드순서와레코드리스트의논리적순서가같은구조의화일 화일내에서의레코드는키필드값에따라정렬 모든레코드는똑같은순서의데이타필드로구성 데이타필드는화일설명자에한번만저장하면됨 ( 즉각필드에해당하는필드값만순서에따라입력 ) 학번 이름홍길동김철수박영희이기수정미영최미숙 나이 본적서울경기충청전라경상강원 성남남여남여여 DBLAB, SNU 14

8 v 키순차화일 정렬된화일 (sorted file) : 키순차화일처럼레코드들이특정키필드값에따라정렬된화일 정렬키 (sort key) : 정렬에사용된값의필드 오름차순 (ascending) / 내림차순 (descending) 정렬 오름차순정렬 if ( 레코드 i 의키값 레코드 j 의키값 ) then 레코드 i 는레코드 j 앞에위치 ; DBLAB, SNU 15 v 키순차화일 u 순차화일의정렬순서 응용에따라결정 전화번호부 : 가입자이름순또는상호순 하나의순차화일은두개의상이한정렬순서를만족시킬수없음. 여러가지상이한정렬순서의화일이필요한경우에는임시화일을만들어사용했다가용도가끝나면화일을삭제 u 순차화일의특징 대화식 (interactive) 처리보다는일괄 (batch) 처리에유리 장점 : 데이타의순차접근에서는차위레코드의접근이신속 데이타의접근형태를고려한뒤그접근방법에맞는화일구조를선정 DBLAB, SNU 16

9 v 순차화일의설계 u 설계시고려사항 1. 레코드내의필드배치는어떻게할것인가? 데이타의필드활용도에따라활동화일 (active file) 과비활동화일 (inactive file) 로분리하여저장활동화일의크기를감소시켜데이타화일에대한처리시간감소활동과비활동을필드타입이아닌레코드어커런스 (occurrence) 활용에따라구분가능 고정길이 (fixed length) 와가변길이 (variable length) 고정길이레코드 : 사용하지않는공간낭비가변길이레코드 : 각레코드길이를적절한제어정보와함께저장 레코드제어정보는각레코드앞부분에있는시스템용필드에저장됨 DBLAB, SNU 17 v 순차화일의설계 u C 프로그램예 } typedef struct course_type /* 과목데이타타입선언 */ { char dept[4]; char course_name[20]; char prof_id[7]; int credit; }; typedef struct STUDENT /* 학생레코드구조선언 */ { int st_num; struct name_type { char last[20]; char midinit; char first[20]; } name; struct address_type { char street[25]; char city[10]; 저장공간낭비 è 가변길이레코드방식필요 char state[2]; int zip; } address; int no_of_courses; course_type course[10]; /* 한학생이최대 10강좌수강가능 */ DBLAB, SNU 18

10 v 순차화일의설계 2. 키필드는어느것으로할것인가? 응용요건에따라선정 키값은순차화일에서레코드접근순서를결정 트랜잭션화일은마스터화일과같은키 보고서화일은출력형식 ( 순서 ) 에따라레코드가정렬될수있게결정 3. 적정블로킹인수는얼마이어야하는가? 일반적으로가능한한블록을크게하는것이바람직함 버퍼의크기와운영체제가지원하는페이지크기에의해제한 순차화일의디스크저장 섹터주소기법사용시블록크기를섹터크기와같게 실린더주소기법사용시블록크기를트랙크기와같게 DBLAB, SNU 19 v 순차화일의생성 u 화일생성 데이타저장장치에레코드들을순서대로입력하여생성 키순차화일의갱신 ( 삽입, 삭제, 변경 ) 연산은트랜잭션화일 (transaction file) 을이용 트랜잭션화일은데이타수집, 레코드형식으로변환, 레코드편집, 정렬과정을거쳐생성 u 편집 트랜잭션화일생성과정에서입력되는데이타값에오류가있는지검사하는과정 검사내용 입력된값이올바른범위안에있는가 필수적인필드값존재여부, 필드타입적절성, 필드값유효성, 관련필드값유무 합계의일치, 계수 숫자타입필드의앞자리공백은 0 으로채움, 영숫자나텍스트를적절한단축코드로채움, 누락된데이타값삽입 DBLAB, SNU 20

11 v 순차화일의생성 u 편집과정렬작업 특정응용프로그램이나범용유틸리티프로그램을이용하여수행 1. 한저장장치에서다른저장장치로순차화일을복사 2. 같은저장장치에서하나의순차화일을또다른순차화일로복사 3. 레코드에대한간단한편집수행 4. 레코드에대해간단한재구성수행 5. 주어진필드값에따라오름차순 / 내림차순으로화일을정렬 6. 여러개의정렬된화일을오름차순 / 내림차순으로하나의정렬된화일로합병 DBLAB, SNU 21 v 순차화일의갱신 u 순차화일에서의검색 레코드의저장순서에따라연속적으로검색 레코드검색순서에따라레코드입력순서를결정 u 순차화일에대한질의 화일구조상연속적이고레코드전체에대한접근이필요한검색의경우에효율적 사원봉급의평균과표준편차는얼마인가? 네개의의료보험에각각몇명의사원들이가입되어있는가? 화일의질의적중비율 (inquiry hit ratio) = 질의응답을위해접근해야되는레코드수화일전체의레코드수 질의적중비율이높으면입력순차화일구조가적합 DBLAB, SNU 22

12 키순차화일의갱신 u u u 키순차화일에대한레코드삽입 키값에따라오름차순 / 내림차순을유지해야하므로복잡 1. 두기존레코드사이에삽입위치를검색 2. 이삽입점앞에있는모든레코드들은새로운화일로복사 3. 새로운레코드를삽입 4. 삽입점뒤에있는나머지레코드들을새로운화일로복사 키순차화일에서의레코드삭제 삽입과거의같은단계를거친다. 삭제할레코드를제외하고나머지레코드만새로운화일로복사 키순차화일에서의레코드수정 수정할레코드앞의모든레코드를새로운화일로복사 원하는레코드를수정해서새로운화일에삽입 나머지레코드들을새로운화일로복사 직접접근저장장치에저장된화일 순차화일의임의접근이가능하므로, 레코드를수정해서기존레코드위치에수정된레코드를기록 DBLAB, SNU 23 순차마스터화일의갱신 u 갱신트랜잭션을트랜잭션화일에모아서일괄처리 트랜잭션화일의트랜잭션레코드 마스터화일과똑같은키로정렬 갱신프로그램에의해마스터화일에적용 트랜잭션레코드는대응하는마스터레코드의키값과갱신타입을나타내는갱신코드 (update code) 를포함 레코드갱신 새레코드의삽입 (I) 기존레코드의삭제 (D) 기존레코드의수정 (C) 트랜잭션코드 사원번호 성명 주소 부서 전화번호 I 김철수 당산 1 동 경리과 갱신을위한트랜잭션레코드 DBLAB, SNU 24

13 순차마스터화일의갱신 u 트랜잭션의삽입 레코드키값은필수 기타데이타필드값은선택적 ( 나중에삽입가능 ) u 트랜잭션의삭제 보통해당마스터레코드의키값만을명세 u 트랜잭션의수정 레코드키값과수정될필드들과해당값만명세 일반적으로수정하지않을필드는공백으로남겨놓는다. u 화일갱신 ( 삽입, 삭제, 수정 ) 시고려사항 이미저장되어있는레코드의삽입 ( 키값의중복 ), 화일에없는레코드삭제나수정등의오류 갱신프로그램은오류보고서를생성하여수행하지못한모든트랜잭션의내용과이유를출력 DBLAB, SNU 25 마스터화일의갱신빈도 u 화일의갱신빈도를결정하는요인 데이타내용의변경율 마스터화일의크기 마스터화일에대한최신데이타요구 화일활동비율 u 화일활동비율 (file activity ratio) = 일련의트랜잭션에의해영향을받는화일의레코드수화일의총레코드수 DBLAB, SNU 26

14 순차화일의갱신작업 u 마스터화일 / 신마스터화일 화일활동비율이낮을수록신마스터화일로단순히복사하는레코드수가증가 갱신작업종료시실행과정에서일어난여러가지오류와갱신요약을보고서로생성 트랜잭션화일 마스터 갱신 ( 다음주기 ) 갱신요약및오류보고서 ( 신마스터 ) DBLAB, SNU 27 키순차마스터화일의갱신알고리즘 u 가정 트랜잭션화일과순차마스터화일은똑같은키로오름차순으로정렬 각화일의레코드키값은유일 u 갱신알고리즘 트랜잭션화일레코드를마스터화일레코드와비교 레코드키값이두화일에서일치하면갱신코드에따라레코드를수정또는삭제 트랜잭션레코드키값이마스터화일의어떤레코드의것과도일치하지않으면, 새로삽입할레코드로판정하고마스터화일에삽입 DBLAB, SNU 28

15 키순차마스터화일의갱신알고리즘 u 오류처리 마스터화일에있는레코드키값을가진레코드를삽입 마스터화일에없는레코드키값을가진레코드를삭제 마스터화일에없는레코드키값을가진레코드를수정 u transkey 와 masterkey 의비교 갱신알고리즘의핵심은 transkey와 masterkey의비교작업 transkey : 트랜잭션화일의레코드키 masterkey : 마스터화일의레코드키 가정 : 화일의끝을표시하는 EOF는어떤레코드키값보다크다. DBLAB, SNU 29 키순차마스터화일의갱신알고리즘 1. masterkey < transkey 마스터레코드에적용할트랜잭션레코드가없는경우마스터레코드를새로운마스터화일로복사만하고, 다음마스터레코드를읽어온다. 2. masterkey = transkey 트랜잭션레코드의갱신코드에따라적절한연산을수행 수정 (C) 인경우 : 레코드를변경해서새로운마스터화일에삽입하고, 다음트랜잭션레코드를읽어온다. 삭제 (D) 인경우 : 마스터레코드는삭제, 즉무시된다. 삽입 (I) 인경우 : 마스터화일에이미같은키값을가진레코드가있으므로중복레코드라는오류메시지를출력하고다음트랜잭션레코드를읽어온다. DBLAB, SNU 30

16 키순차마스터화일의갱신알고리즘 3. masterkey > transkey 트랜잭션레코드키와일치하는마스터레코드가없는경우갱신코드가삽입 (I) 인경우 : 레코드를구성해서새로운마스터화일에삽입하고다음트랜잭션레코드를처리그이외갱신코드가수정 (C) 이거나삭제 (D) 인경우 : 적절한오류메시지를출력하고, 다음트랜잭션레코드를처리 u 하나의마스터레코드에적용할트랜잭션이다수인경우 트랜잭션레코드들을발생시간순서에따라적용 트랜잭션레코드들을 1차키 transkey, 2차키트랜잭션발생시간으로정렬한뒤에갱신작업을시작 갱신된레코드를새로운마스터화일에출력하기전에관련트랜잭션들이모두처리되었는지확인 DBLAB, SNU 31 v 순차화일과임의접근 u 순차화일의저장 순차접근저장장치 ( 테이프 ) 임의접근저장장치 ( 디스크 ) 에도저장가능 실린더단위로저장하면탐구시간을절약 u 임의갱신 (random update) 갱신과정 1. 해당마스터레코드를판독 2. 마스터레코드에트랜잭션적용 3. 갱신된마스터레코드를원래의위치에재기록 효율적 : 해당레코드만읽고, 원위치에재기록 레코드삭제 : 물리적인제거보다해당레코드위에 deleted 플래그를표시하여논리적삭제로대신하는것이효율적 DBLAB, SNU 32

7장인덱스된 순차화일 DBLAB, SNU v 인덱스된순차화일의구조 u 인덱스된순차화일 (indexed sequential file) 은순차데이타화일 (sequential data file) 과인덱스 (index) 로구성 u 순차데이타화일 키값에따라레코드들이순차적으로정렬

7장인덱스된 순차화일 DBLAB, SNU v 인덱스된순차화일의구조 u 인덱스된순차화일 (indexed sequential file) 은순차데이타화일 (sequential data file) 과인덱스 (index) 로구성 u 순차데이타화일 키값에따라레코드들이순차적으로정렬 7장인덱스된 순차화일 v 인덱스된순차화일의구조 u 인덱스된순차화일 (indexed sequential file) 은순차데이타화일 (sequential data file) 과인덱스 (index) 로구성 u 순차데이타화일 키값에따라레코드들이순차적으로정렬 레코드전체에대한순차접근을지원 u 인덱스화일 화일의레코드들에대한키값과포인터를저장 개별레코드에대한직접접근을지원 u

More information

Discrete Mathematics

Discrete Mathematics 2005 년봄학기 문양세컴퓨터과학과강원대학교자연과학대학 강의 강의내용 파일의기본개념 (Ch. 1 in 화일구조 ) 파일저장장치 (Ch. 2 in 화일구조 ) 파일의입출력제어 (Ch. 3 in 화일구조 ) 순차파일 (Ch. 4 in 화일구조 ) 파일구조와관련해서는, 기본 concept 위주로강의를진행할예정임 (O/S 나 Device 에깊게 Dependent 한내용은생략함

More information

Microsoft PowerPoint File Structures.ppt

Microsoft PowerPoint File Structures.ppt 자료처리 () 2006 년봄학기문양세강원대학교컴퓨터과학과 강의 강의내용 파일의기본개념 (Ch. 1 in 화일구조 ) 파일저장장치 (Ch. 2 in 화일구조 ) 파일의입출력제어 (Ch. 3 in 화일구조 ) 순차파일 (Ch. 4 in 화일구조 ) 파일구조와관련해서는, 기본 concept 위주로강의를진행할예정임 (O/S 나 Device 에깊게 Dependent

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 MySQL - 명령어 1. 데이터베이스관련명령 2. 데이터베이스테이블관련명령 3. SQL 명령의일괄실행 4. 레코드관련명령 5. 데이터베이스백업및복원명령 1. 데이터베이스관련명령 데이터베이스접속명령 데이터베이스접속명령 mysql -u계정 -p비밀번호데이터베이스명 C: > mysql -ukdhong p1234 kdhong_db 데이터베이스생성명령 데이터베이스생성명령

More information

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx Basic Idea of External Sorting run 1 run 2 run 3 run 4 run 5 run 6 750 records 750 records 750 records 750 records 750 records 750 records run 1 run 2 run 3 1500 records 1500 records 1500 records run 1

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600 균형이진탐색트리 -VL Tree delson, Velskii, Landis에의해 1962년에제안됨 VL trees are balanced n VL Tree is a binary search tree such that for every internal node v of T, the heights of the children of v can differ by at

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

Microsoft PowerPoint - chap11.ppt [호환 모드]

Microsoft PowerPoint - chap11.ppt [호환 모드] 2010-1 학기프로그래밍입문 (1) 11 장입출력과운영체제 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr k 0 특징 printf() - 임의의개수의인자출력 - 간단한변환명세나형식을사용한출력제어 A Book on C, 4ed. 11-1 printf() printf(control_string, other_argument) -

More information

5장 SQL 언어 Part II

5장 SQL 언어 Part II 5 장 SQL 언어 Part II 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 1 / 26 데이터조작문 데이터검색 : SELECT 문데이터추가 : INSERT 문데이터수정 : UPDATE 문데이터삭제 : DELETE 문 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 2 / 26 SELECT

More information

02장.배열과 클래스

02장.배열과 클래스 ---------------- DATA STRUCTURES USING C ---------------- CHAPTER 배열과구조체 1/20 많은자료의처리? 배열 (array), 구조체 (struct) 성적처리프로그램에서 45 명의성적을저장하는방법 주소록프로그램에서친구들의다양한정보 ( 이름, 전화번호, 주소, 이메일등 ) 를통합하여저장하는방법 홍길동 이름 :

More information

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

슬라이드 1

슬라이드 1 6-1 리스트 (list) 란순서를가진항목들을표현하는자료구조 리스트를구현하는두가지방법 배열 (array) 을이용하는방법 구현간단 삽입, 삭제시오버헤드 항목의개수제한 연결리스트 (linked list) 를이용하는방법 구현복잡 삽입, 삭제가효율적 크기가제한되지않음 6-2 객체 : n 개의 element 형으로구성된순서있는모임 연산 : add_last(list,

More information

슬라이드 1

슬라이드 1 CHAP 7: 트리 C 로쉽게풀어쓴자료구조 생능출판사 2005 트리 (TREE) 트리 : 계층적인구조를나타내는자료구조 트리는부모 - 자식관계의노드들로이루어진다. 대표이사 응용분야 : 계층적인조직표현 총무부 영업부 생산부 파일시스템 인공지능에서의결정트리 전산팀구매팀경리팀생산 1 팀생산 2 팀 트리의용어 노드 (node): 트리의구성요소 루트 (root): 부모가없는노드

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

11장 포인터

11장 포인터 Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함

More information

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

11. 텍스트를위한 화일 DBLAB, SNU 텍스트를위한화일 u 텍스트데이타로구성된문서 (documents) 나텍스트필드 (text field) 를포함하고있는레코드검색에이용할수있는화일 텍스트 (text): 긴문자열로구성된데이타 ( 예 ) 학생의자기소개, 신문기사, 사전

11. 텍스트를위한 화일 DBLAB, SNU 텍스트를위한화일 u 텍스트데이타로구성된문서 (documents) 나텍스트필드 (text field) 를포함하고있는레코드검색에이용할수있는화일 텍스트 (text): 긴문자열로구성된데이타 ( 예 ) 학생의자기소개, 신문기사, 사전 . 텍스트를위한 화일 텍스트를위한화일 텍스트데이타로구성된문서 (docments) 나텍스트필드 (text field) 를포함하고있는레코드검색에이용할수있는화일 텍스트 (text): 긴문자열로구성된데이타 ( 예 ) 학생의자기소개, 신문기사, 사전의용어, 인터넷사이트에대한설명정보 키워드 (keyword): 텍스트데이타에대한탐색키값 하나의레코드를식별하기위하여텍스트필드는여러개의키워드가사용될수있음.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

<4D F736F F F696E74202D2034C5D8BDBAC6AEC6C4C0CFC0D4C3E2B7C2312E505054>

<4D F736F F F696E74202D2034C5D8BDBAC6AEC6C4C0CFC0D4C3E2B7C2312E505054> 의료프로그래밍실습 의료공학과이기영 1 Chap. 11 파일입출력 2 1 이장의목표 텍스트파일의입출력방법을익힌다. (284 쪽그림참조 ) 3 C 언어의파일종류 텍스트파일 (text file) 사람들이읽을수있는문자들을저장하고있는파일 텍스트파일에서 한줄의끝 을나타내는표현은파일이읽어들여질때, C 내부의방식으로변환된다. 이진파일 (binary file) : 자료형그대로의바이트수로연속해서저장

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 16 강. 파일입출력목차 파일입출력기초 파일입출력모드 텍스트파일과이진파일 이진파일입출력 임의접근 1 /18 16 강. 파일입출력파일입출력기초 파일입출력과정 파일스트림객체생성 파일열기 사용 : 기본적으로표준입출력객체 (cin, cout) 사용방법과동일 파일닫기 파일스트림클래스의종류

More information

Chapter 4. LISTS

Chapter 4. LISTS C 언어에서리스트구현 리스트의생성 struct node { int data; struct node *link; ; struct node *ptr = NULL; ptr = (struct node *) malloc(sizeof(struct node)); Self-referential structure NULL: defined in stdio.h(k&r C) or

More information

Microsoft PowerPoint - chap11-포인터의활용.pptx

Microsoft PowerPoint - chap11-포인터의활용.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 포인터를 사용하는 다양한 방법에

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 24. 파일입출력 2013.11.27. 오병우 컴퓨터공학과 파일 (File) 입출력 표준입출력 vs. 파일입출력 HDD 프로그래머입장에서는동일한방법으로입출력 다만 file 을읽고쓰기전에 Open 해서스트림에대한파일포인터 (file pointer) 를얻어야한다. OS 가실제작업을대행하며, 프로그래머는적절한함수를적절한방법으로호출 Department

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

슬라이드 1

슬라이드 1 CHAP 6: 큐 yicho@gachon.ac.kr 1 큐 (QUEUE) 큐 : 먼저들어온데이터가먼저나가는자료구조 선입선출 (FIFO: First-In First-Out) ( 예 ) 매표소의대기열 Ticket Box 전단 () 후단 () 2 큐 ADT 삽입과삭제는 FIFO 순서를따른다. 삽입은큐의후단에서, 삭제는전단에서이루어진다. 객체 : n 개의 element

More information

Lab 3. 실습문제 (Single linked list)_해답.hwp

Lab 3. 실습문제 (Single linked list)_해답.hwp Lab 3. Singly-linked list 의구현 실험실습일시 : 2009. 3. 30. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 5. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Singly-linked list의각함수를구현한다.

More information

2007_2_project4

2007_2_project4 Programming Methodology Instructor: Kyuseok Shim Project #4: external sort with template Due Date: 0:0 a.m. between 2007-12-2 & 2007-12-3 Introduction 이프로젝트는 C++ 의 template을이용한 sorting algorithm과정렬해야할데이터의크기가

More information

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2 제 17 장동적메모리와연결리스트 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다.

More information

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

Microsoft PowerPoint - chap13-입출력라이브러리.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 스트림의 기본 개념을 알아보고,

More information

C 언어 강의노트

C 언어 강의노트 C언어 (CSE2035) (15-1 Lists) Linear list 의구성, Insertion, deletion 윤용운, Ph.D. Dept. of Computer Science and Engineering Sogang University Seoul, Korea Tel: 010-3204-6811 Email : yuyoon0@sogang.ac.kr 2018-01-11

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 4 장파일 컴퓨터과학과박환수 1 2 4.1 시스템호출 컴퓨터시스템구조 유닉스커널 (kernel) 하드웨어를운영관리하여다음과같은서비스를제공 파일관리 (File management) 프로세스관리 (Process management) 메모리관리 (Memory management) 통신관리 (Communication management) 주변장치관리 (Device

More information

Ver 1.0 마감하루전 Category Partitioning Testing Tool Project Team T1 Date Team Information 김강욱 김진욱 김동권

Ver 1.0 마감하루전 Category Partitioning Testing Tool Project Team T1 Date Team Information 김강욱 김진욱 김동권 마감하루전 Category Partitioning Testing Tool Project Team T1 Date 2017-05-12 Team Information 201111334 김강욱 201211339 김진욱 201312243 김동권 201510411 이소영 [ 마감하루전 ] T1 1 INDEX Activity 2041. Design Real Use Cases

More information

chap7.key

chap7.key 1 7 C 2 7.1 C (System Calls) Unix UNIX man Section 2 C. C (Library Functions) C 1975 Dennis Ritchie ANSI C Standard Library 3 (system call). 4 C?... 5 C (text file), C. (binary file). 6 C 1. : fopen( )

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070> #include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 파일입출력 Heeseung Jo 이장의내용 파일과파일포인터 파일입출력함수 임의접근파일처리 2 파일과파일포인터 파일 파일은모든데이터를연속된바이트형태로저장 4 C 언어의파일종류 텍스트파일 (text file) 사람들이읽을수있는문자들을저장하고있는파일 텍스트파일에서 " 한줄의끝 " 을나타내는표현은파일이읽어들여질때, C 내부의방식으로변환 예, a.txt, main.c,

More information

Microsoft Word - FunctionCall

Microsoft Word - FunctionCall Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

KNK_C_05_Pointers_Arrays_structures_summary_v02

KNK_C_05_Pointers_Arrays_structures_summary_v02 Pointers and Arrays Structures adopted from KNK C Programming : A Modern Approach 요약 2 Pointers and Arrays 3 배열의주소 #include int main(){ int c[] = {1, 2, 3, 4}; printf("c\t%p\n", c); printf("&c\t%p\n",

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 C 언어포인터정복하기 16 강. 포인터로자료구조화하기 TAE-HYONG KIM COMPUTER ENG, KIT 2 학습내용 구조체멤버와구조체포인터멤버 다른구조체 ( 변수 ) 를가리키는구조체 ( 변수 ) 연결된리스트 의구성및관리 포인터로 연결된리스트 탐색하기 3 중첩구조체에자료저장하기 중첩된구조체변수에값저장하기 struct person { char PRID[15];

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - C++ 5 .pptx C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070> 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include "QuickSort.h" 7 using namespace std; 8 9 10 Node* Queue[100]; // 추가입력된데이터를저장하기위한 Queue

More information

Microsoft PowerPoint - 제11강 파일 처리

Microsoft PowerPoint - 제11강 파일 처리 제13장 파일 처리 파일열기 : File Open FILE *fp; fp=fopen( filename, r ); File handling mode: r, w, a, rb, wb, ab, r+, w+, a+ fclose(fp) 파일의종류 : Text File, Binary File Text file:.txt,.doc,.hwp Binary file:.exe,.jpg,.gif,.mov,.mpeg,.tif,.pgm,.ppm.

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

제12장 파일 입출력

제12장 파일 입출력 제 4 장파일입출력 리눅스시스템프로그래밍 청주대학교전자공학과 한철수 1 시스템호출 (system call) 파일 (file) 임의접근 (random access) 주요학습내용 2 4.1 절 커널의역할 (kernel) 커널 (kernel) 은운영체제의핵심부분으로서, 하드웨어를운영관리하는여러가지서비스를제공함 파일관리 (File management) 디스크 프로세스관리

More information

PowerPoint Presentation

PowerPoint Presentation 자바프로그래밍 1 배열 손시운 ssw5176@kangwon.ac.kr 배열이필요한이유 예를들어서학생이 10 명이있고성적의평균을계산한다고가정하자. 학생 이 10 명이므로 10 개의변수가필요하다. int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; 하지만만약학생이 100 명이라면어떻게해야하는가? int s0, s1, s2, s3, s4,

More information

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp Lab 4. Circular singly-linked list 의구현 실험실습일시 : 2009. 4. 6. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 12. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Circular Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Circular

More information

PowerPoint Template

PowerPoint Template 13 파일처리 1 함수 fopen() 파일열기 파일을만들기위해서는함수 fopen() 을이용 함수 fopen() 의함수원형은다음과같으며헤더파일 stdio.h 파일에정의 함수 fopen() 은두개의문자열전달인자를이용, 반환값은포인터값인 FILE * 2 파일열기 인자 함수 fopen() 에서 첫번째문자열은처리하려는파일이름이고, 두번째문자열은파일처리종류 ( 모드 )

More information

Chapter 4. LISTS

Chapter 4. LISTS 연결리스트의응용 류관희 충북대학교 1 체인연산 체인을역순으로만드는 (inverting) 연산 3 개의포인터를적절히이용하여제자리 (in place) 에서문제를해결 typedef struct listnode *listpointer; typedef struct listnode { char data; listpointer link; ; 2 체인연산 체인을역순으로만드는

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 오픈소스소프트웨어개발입문 (CP33992) 파일입출력 부산대학교공과대학정보컴퓨터공학부 학습목표 파일의기본개념과특징을이해할수있다. 파일처리과정을이해할수있다. 형식을지정한파일입출력함수의사용법을알수있다. 2 파일과파일포인터 3 파일 C 의파일은모든데이터를연속된바이트형태로저장한다. 4 텍스트파일 (text file) C 언어의파일종류 사람들이읽을수있는문자들을저장하고있는파일

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C4C656D70656C2D5A69762E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C4C656D70656C2D5A69762E637070> /* */ /* LZWIN.C : Lempel-Ziv compression using Sliding Window */ /* */ #include "stdafx.h" #include "Lempel-Ziv.h" 1 /* 큐를초기화 */ void LZ::init_queue(void) front = rear = 0; /* 큐가꽉찼으면 1 을되돌림 */ int LZ::queue_full(void)

More information

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

PowerPoint Presentation

PowerPoint Presentation FORENSICINSIGHT SEMINAR SQLite Recovery zurum herosdfrc@google.co.kr Contents 1. SQLite! 2. SQLite 구조 3. 레코드의삭제 4. 삭제된영역추적 5. 레코드복원기법 forensicinsight.org Page 2 / 22 SQLite! - What is.. - and why? forensicinsight.org

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

Microsoft PowerPoint - lec07_tree [호환 모드]

Microsoft PowerPoint - lec07_tree [호환 모드] Tree 2008학년도 2학기 kkman@sangji.ac.krac kr -1- 트리 (Tree) 1. 개요 ~ 계층적인구조를나타내는비선형 (Non-linear) 자료구조 ~ 트리는부모 - 자식관계의노드로구성 ~ 응용분야 계층적인조직표현 파일시스템 인공지능에서의결정트리 -2- 트리자료구조를사용하는이유? ~ 다른자료구조와달리비선형구조. ~ 정렬된배열 탐색은빠르지만

More information

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해

More information

2002년 2학기 자료구조

2002년 2학기 자료구조 자료구조 (Data Structures) Chapter 1 Basic Concepts Overview : Data (1) Data vs Information (2) Data Linear list( 선형리스트 ) - Sequential list : - Linked list : Nonlinear list( 비선형리스트 ) - Tree : - Graph : (3)

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

chap 5: Trees

chap 5: Trees Chapter 5. TREES 목차 1. Introduction 2. 이진트리 (Binary Trees) 3. 이진트리의순회 (Binary Tree Traversals) 4. 이진트리의추가연산 5. 스레드이진트리 (Threaded Binary Trees) 6. 히프 (Heaps) 7. 이진탐색트리 (Binary Search Trees) 8. 선택트리 (Selection

More information

슬라이드 1

슬라이드 1 명령어집합 주소지정모드 (addressing mode) 내용 명령어는크게연산자부분과이연산에필요한주소부분으로구성 이때주소부분은다양한형태를해석될수있으며, 해석하는방법을주소지정방식 ( 모드 )(addressing mode) 라한다. 즉피연산자정보를구하는방법을주소지정방식이라고함 명령어형식 주소지정 명령어형식에있는주소필드는상대적으로짧다. 따라서지정할수있는위치가제한된다.

More information

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint - 10Àå.ppt 10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

14장.탐색

14장.탐색 ---------------- DATA STRUCTURES USING C ---------------- CHAPTER 탐색 1/28 탐색 (search) 이란? 여러개의자료중에서원하는자료를찾는작업 컴퓨터가가장많이하는작업중의하나 탐색을효율적으로수행하는것은매우중요 탐색키 (search key) 항목과항목을구별해주는키 (key) 탐색을위하여사용되는자료구조 배열,

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,

More information

Chapter 4. LISTS

Chapter 4. LISTS 6. 동치관계 (Equivalence Relations) 동치관계 reflexive, symmetric, transitive 성질을만족 "equal to"(=) 관계는동치관계임. x = x x = y 이면 y = x x = y 이고 y = z 이면 x = z 동치관계를이용하여집합 S 를 동치클래스 로분할 동일한클래스내의원소 x, y 에대해서는 x y 관계성립

More information

Microsoft PowerPoint - chap11-1.ppt [호환 모드]

Microsoft PowerPoint - chap11-1.ppt [호환 모드] chapter 11-1 참고자료. 파일입출력 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr k 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- ehanbit.net 파일입출력의개념 파일은데이터를입출력하는모든대상을의미한다. - 키보드로부터데이터를입력하고모니터로출력하는것은키보드파일과 모니터파일로데이터를입출력하는것이다.

More information

컴파일러

컴파일러 YACC 응용예 Desktop Calculator 7/23 Lex 입력 수식문법을위한 lex 입력 : calc.l %{ #include calc.tab.h" %} %% [0-9]+ return(number) [ \t] \n return(0) \+ return('+') \* return('*'). { printf("'%c': illegal character\n",

More information

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint 웹 연동 기술.pptx 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined data types) : 다양한자료형을묶어서목적에따라새로운자료형을

구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined data types) : 다양한자료형을묶어서목적에따라새로운자료형을 (structures) 구조체정의 구조체선언및초기화 구조체배열 구조체포인터 구조체배열과포인터 구조체와함수 중첩된구조체 구조체동적할당 공용체 (union) 1 구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined

More information

Microsoft PowerPoint - 알고리즘_4주차_1차시.pptx

Microsoft PowerPoint - 알고리즘_4주차_1차시.pptx Chapter 4 Fundamental File Structure Concepts Reference: M. J. Folk and B. Zoellick, File Structures, Addison-Wesley (1992). TABLE OF CONTENTSN Field and Record Organization Record Access More about Record

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

제 11 장 다원 탐색 트리

제 11 장 다원 탐색 트리 제 11 장 다원탐색트리 Copyright 07 DBLB, Seoul National University m- 원탐색트리의정의와성질 (1) 탐색성능을향상시키려면메모리접근횟수를줄여야함 탐색트리의높이를줄여야함 차수 (degree) 가 2보다큰탐색트리가필요 m- 원탐색트리 (m-way search tree) 공백이거나다음성질을만족 (1) 루트는최대 m 개의서브트리를가진다.

More information

06장.리스트

06장.리스트 ---------------- DATA STRUCTURES USING C ---------------- CHAPTER 리스트 1/28 리스트란? 리스트 (list), 선형리스트 (linear list) 순서를가진항목들의모임 집합 : 항목간의순서의개념이없음 리스트의예 요일 : ( 일요일, 월요일,, 토요일 ) 한글자음의모임 : ( ㄱ, ㄴ,, ㅎ ) 카드 :

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 13 장파일처리 1. 스트림의개념을이해한다. 2. 객체지향적인방법을사용하여파일입출력을할수있다. 3. 텍스트파일과이진파일의차이점을이해한다. 4. 순차파일과임의접근파일의차이점을이해한다. 이번장에서만들어볼프로그램 스트림 (stream) 스트림 (stream) 은 순서가있는데이터의연속적인흐름 이다. 스트림은입출력을물의흐름처럼간주하는것이다. 입출력관련클래스들 파일쓰기

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 5 장 데이터송수신 (3) 1 파일전송메시지구성예제 ( 고정크기메시지 ) 전송방식 : 고정크기 ( 바이너리전송 ) 필요한전송정보 파일이름 ( 최대 255 자 => 255byte 의메모리공간필요 ) 파일크기 (4byte 의경우최대 4GB 크기의파일처리가능 ) 파일내용 ( 가변길이, 0~4GB 크기 ) 메시지구성 FileName (255bytes)

More information

18강.hwp

18강.hwp ------------------8강 데이터 관리------------------ **주요 키워드 ** () 레코드관리 () 정렬 () 자동필터, 고급필터 () 그룹과 윤곽설정, 텍스트나누기, 외부데이터 () 레코드관리********************************** [08/]. 다음 중 [데이터]-[레코드 관리]에 대한 설명으로 옳지 않은 것

More information

PowerPoint Presentation

PowerPoint Presentation FORENSIC INSIGHT; DIGITAL FORENSICS COMMUNITY IN KOREA SQL Server Forensic AhnLab A-FIRST Rea10ne unused6@gmail.com Choi Jinwon Contents 1. SQL Server Forensic 2. SQL Server Artifacts 3. Database Files

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 데이터베이스및설계 Chap 1. 데이터베이스환경 (#2/2) 2013.03.04. 오병우 컴퓨터공학과 Database 용어 " 데이타베이스 용어의기원 1963.6 제 1 차 SDC 심포지움 컴퓨터중심의데이타베이스개발과관리 Development and Management of a Computer-centered Data Base 자기테이프장치에저장된데이터파일을의미

More information

디지털영상처리3

디지털영상처리3 비트맵개요 BMP 파일의이해실제 BMP 파일의분석 BMP 파일을화면에출력 } 비트맵 (bitmap) 윈도우즈에서영상을표현하기위해사용되는윈도우즈 GDI(Graphic Device Interface) 오브젝트의하나 } 벡터그래픽 (vector graphics) 점, 선, 면등의기본적인그리기도구를이용하여그림을그리는방식 } 윈도우즈 GDI(Graphic Device

More information

Microsoft PowerPoint - 제11장 포인터

Microsoft PowerPoint - 제11장 포인터 쉽게풀어쓴 C 언어 Express 제 11 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 1003 1004 1005 영화관 1002 1006 1001 포인터 (pointer) 1007 메모리의구조

More information

슬라이드 1

슬라이드 1 / 유닉스시스템개요 / 파일 / 프로세스 01 File Descriptor file file descriptor file type unix 에서의파일은단지바이트들의나열임 operating system 은파일에어떤포맷도부과하지않음 파일의내용은바이트단위로주소를줄수있음 file descriptor 는 0 이나양수임 file 은 open 이나 creat 로 file

More information

쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table

쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table 쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table http://academy.hanb.co.kr 6장. 해시테이블 테이블 Hash Table 사실을많이아는것보다는이론적틀이중요하고, 기억력보다는생각하는법이더중요하다. - 제임스왓슨 - 2 - 학습목표 해시테이블의발생동기를이해한다. 해시테이블의원리를이해한다. 해시함수설계원리를이해한다. 충돌해결방법들과이들의장단점을이해한다.

More information

Frama-C/JESSIS 사용법 소개

Frama-C/JESSIS 사용법 소개 Frama-C 프로그램검증시스템소개 박종현 @ POSTECH PL Frama-C? C 프로그램대상정적분석도구 플러그인구조 JESSIE Wp Aorai Frama-C 커널 2 ROSAEC 2011 동계워크샵 @ 통영 JESSIE? Frama-C 연역검증플러그인 프로그램분석 검증조건추출 증명 Hoare 논리에기초한프로그램검증도구 사용법 $ frama-c jessie

More information

슬라이드 1

슬라이드 1 휴지통포렌식 JK Kim @pr0neer proneer@gmail.com 개요 1. 휴지통 2. 휴지통파일구조 3. 휴지통파일카빙 4. 휴지통파일분석 2 휴지통 Security is a people problem 3 휴지통 휴지통이란? 휴지통소개 윈도우에서파일을삭제할경우, 기본적으로삭제된파일은휴지통 (Recycle Bin) 영역으로이동 휴지통우회방법 SHIFT

More information

Algorithms

Algorithms 자료구조 & 알고리즘 리스트 (List) Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 선형리스트 연결리스트 2 선형리스트 선형리스트 선형리스트의개념 선형리스트의구현 연결리스트 3 선형리스트개념 리스트 (List) 목록, 대부분의목록은도표 (Table) 형태로표시 추상자료형리스트는이러한목록또는도표를추상화한것

More information

본 강의에 들어가기 전

본 강의에 들어가기 전 C 기초특강 표준입출력 printf() (1) 특징 임의의개수의인자출력 간단한변환명세나형식을사용한출력제어 형식 printf(control_string, other_argument) 예 printf("she sells %d %s for $%f", 99, "sea shells", 3.77); control_string: "she sells %d %s for $%f"

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 13. 포인터와배열! 함께이해하기 2013.10.02. 오병우 컴퓨터공학과 13-1 포인터와배열의관계 Programming in C, 정재은저, 사이텍미디어. 9 장참조 ( 교재의 13-1 은읽지말것 ) 배열이름의정체 배열이름은 Compile 시의 Symbol 로서첫번째요소의주소값을나타낸다. Symbol 로서컴파일시에만유효함 실행시에는메모리에잡히지않음

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information