목차 일부
머리말
CHAPTER 01 컴퓨터와 논리의 개요 ... 21
1.1 컴퓨터의 구성 요소와 연산 과정 ... 22
1.2 프로그래밍 과정의 단계 ... 26
1.2.1 문제의 이해 ... 26
1.2.2 논리의 설계 ... 27
1.2.3 프로그램의 코딩 ... 27
1.2.4 프로그램의 번역 ... 28...
더보기
목차 전체
머리말
CHAPTER 01 컴퓨터와 논리의 개요 ... 21
1.1 컴퓨터의 구성 요소와 연산 과정 ... 22
1.2 프로그래밍 과정의 단계 ... 26
1.2.1 문제의 이해 ... 26
1.2.2 논리의 설계 ... 27
1.2.3 프로그램의 코딩 ... 27
1.2.4 프로그램의 번역 ... 28
1.2.5 프로그램의 테스트 ... 29
1.2.6 프로그램의 활용 ... 30
1.3 데이터의 계층구조 ... 31
1.4 순서도 기호와 의사코드의 사용 ... 33
1.5 변수의 사용 ... 37
1.6 프로그램의 종료 ... 39
1.7 연결자의 사용 ... 42
1.8 변수에 값을 대입 ... 43
1.9 데이터의 타입 ... 45
1.10 프로그래밍 기법들의 발전 ... 47
요약 ... 48
주요 용어 ... 48
복습 문제 ... 51
연습 문제 ... 53
CHAPTER 02 프로그램의 구조화 ... 57
2.1 컴퓨터의 구성 요소와 연산과정 ... 58
2.2 프로그램의 기본 구조 ... 60
2.3 Priming Read의 사용 ... 66
2.4 구조화의 필요성 ... 72
2.5 구조화의 확인 ... 75
2.6 case와 do until 구조 ... 81
요약 ... 86
주요 용어 ... 86
복습 문제 ... 87
연습 문제 ... 89
CHAPTER 03 프로그램의 모듈화와 문서 ... 95
3.1 모듈화의 장점 ... 96
3.1.1 프로그램의 추상화 ... 96
3.1.2 다수 프로그래머의 공동 작업 ... 97
3.1.3 모듈의 재사용 ... 97
3.1.4 프로그램 구조의 인식 ... 98
3.2 프로그램의 모듈화 ... 100
3.3 모듈의 호출 ... 103
3.4 변수의 선언 ... 104
3.5 계층도 ... 106
3.6 프로그램의 문서 ... 108
3.7 출력 문서 ... 109
3.8 입력 문서 ... 116
3.9 사용자 문서 ... 121
요약 ... 123
주요 용어 ... 123
복습 문제 ... 125
연습 문제 ... 128
CHAPTER 04 프로그램의 작성 및 설계 ... 133
4.1 프로그램의 메인 논리 ... 134
4.2 초기화 작업 ... 138
4.2.1 변수 선언 ... 138
4.2.2 파일 열기 ... 143
4.2.3 제목 출력 ... 144
4.2.4 첫 번째 입력 ... 144
4.3 메인 루프 ... 149
4.4 마무리 작업 ... 152
4.5 프로그램 설계의 중요성 ... 154
4.6 모듈의 포함 ... 154
4.7 변수와 모듈의 이름 ... 157
4.8 명확한 명령문의 작성 ... 158
4.8.1 적절한 줄 바꾸기 ... 158
4.8.2 임시 변수의 사용 ... 159
4.8.3 상수의 사용 ... 160
4.9 좋은 프로그래밍 습관 ... 160
요약 ... 161
주요 용어 ... 161
복습 문제 ... 162
연습 문제 ... 165
CHAPTER 05 판단 ... 169
5.1 불리언 식 ... 170
5.2 비교 연산자 ... 172
5.3 AND 논리 ... 176
5.3.1 효율적인 AND 판단 ... 180
5.3.2 1개의 AND로 판단들을 결합 ... 182
5.3.3 AND 사용의 흔한 실수 ... 183
5.4 OR 논리 ... 185
5.4.1 OR 사용의 흔한 실수 ... 186
5.4.2 효율적인 OR 판단 ... 189
5.4.3 1개의 OR로 판단들을 결합 ... 191
5.5 범위 검사 ... 192
5.5.1 범위 검사의 흔한 실수 ... 195
5.6 AND와 OR의 우선순위 ... 196
5.7 case 구조 ... 199
5.8 의사결정 테이블 ... 200
요약 ... 208
주요 용어 ... 208
복습 문제 ... 209
연습 문제 ... 213
CHAPTER 06 루프 ... 219
6.1 루프의 장점 ... 220
6.2 while 루프 ... 220
6.3 루프의 제어 ... 223
6.4 센티넬 변수의 사용 ... 227
6.5 루프 제어 변수의 감소 ... 229
6.6 루프 사용의 흔한 실수 ... 230
6.6.1 루프 제어 변수의 초기화 ... 230
6.6.2 루프 제어 변수의 변경 ... 230
6.6.3 루프 제어 변수의 비교 ... 231
6.6.4 루프에 포함하는 명령문 ... 231
6.6.5 초기화 필요가 없는 변수 ... 232
6.7 for 루프 ... 233
6.8 do until 루프 ... 235
6.9 루프의 공통된 특징 ... 239
6.10 중첩 루프 ... 240
6.11 루프를 이용한 총합 ... 245
요약 ... 248
주요 용어 ... 248
복습 문제 ... 249
연습 문제 ... 253
CHAPTER 07 제어 탈출 ... 257
7.1 제어 탈출의 논리 ... 258
7.2 단일 단계 제어 탈출 ... 259
7.3 제목에서 제어 데이터의 사용 ... 264
7.4 꼬리말에서 제어 데이터의 사용 ... 266
7.5 합계에서 제어 탈출 ... 268
7.6 다단계 제어 탈출 ... 273
7.7 페이지 탈출 ... 279
요약 ... 285
주요 용어 ... 285
복습 문제 ... 286
연습 문제 ... 289
CHAPTER 08 배열 ... 293
8.1 배열의 사용 ... 294
8.2 컴퓨터 메모리에서의 위치 ... 294
8.3 중첩된 판단을 대체하는 배열 ... 295
8.4 배열의 선언과 초기화 ... 305
8.5 수행할 때와 컴파일할 때의 배열 ... 307
8.6 배열의 값을 적재 ... 310
8.7 배열의 탐색 ... 312
8.8 병렬 배열의 사용 ... 314
8.9 배열의 경계 ... 318
8.10 조기 탈출 ... 320
8.11 범위의 비교 ... 322
요약 ... 326
주요 용어 ... 326
복습 문제 ... 327
연습 문제 ... 330
CHAPTER 09 배열의 응용 ... 337
9.1 데이터 정렬의 필요성 ... 338
9.2 두 값의 교환 ... 339
9.3 버블 정렬 ... 340
9.3.1 배열의 크기 변수 사용 ... 347
9.3.2 가변 크기의 리스트 ... 350
9.3.3 불필요한 비교의 감소 ... 353
9.3.4 불필요한 패스의 제거 ... 355
9.4 삽입 정렬 ... 357
9.5 선택 정렬 ... 359
9.6 인덱스 파일 ... 361
9.7 연결 리스트 ... 362
9.8 다차원 배열 ... 364
요약 ... 370
주요 용어 ... 370
복습 문제 ... 371
연습 문제 ... 374
CHAPTER 10 메뉴와 입력의 확인 ... 377
10.1 대화식 프로그램의 필요성 ... 378
10.2 1단계 메뉴의 사용 ... 379
10.3 블랙박스 같은 모듈 ... 383
10.4 메뉴 프로그램의 개선 ... 388
10.5 CASE 구조의 사용 ... 393
10.6 다단계 메뉴의 사용 ... 396
10.7 입력의 확인 ... 403
10.8 데이터 확인의 종류 ... 405
10.8.1 데이터 타입의 확인 ... 405
10.8.2 데이터 범위의 확인 ... 406
10.8.3 데이터의 합리성과 일관성 확인 ... 406
10.8.4 데이터 존재의 확인 ... 407
요약 ... 408
주요 용어 ... 408
복습 문제 ... 409
연습 문제 ... 412
CHAPTER 11 파일의 처리 ... 417
11.1 파일 병합의 필요성 ... 418
11.2 병합 프로그램의 메인 논리와 초기화 ... 419
11.3 병합 프로그램의 메인 루프와 마무리 ... 427
11.4 초기화에서 EOF의 검사 ... 427
11.5 마스터 파일과 트랜잭션 파일 ... 429
11.6 트랜잭션의 반영 ... 430
11.7 다수의 트랜잭션 허용 ... 436
11.8 순차 파일의 갱신 ... 437
요약 ... 448
주요 용어 ... 448
복습 문제 ... 449
연습문제 ... 452
CHAPTER 12 고급 모듈화 기술 ... 457
12.1 지역변수와 전역변수 ... 458
12.2 모듈로 값을 전달 ... 464
12.3 모듈로 여러 값을 전달 ... 470
12.4 모듈로부터 값의 반환 ... 493
12.5 내장 함수 ... 475
12.6 IPO 차트 ... 477
12.7 캡슐화의 장점 ... 478
12.8 결합력의 감소와 응집력의 증가 ... 480
12.8.1 결합력의 감소 ... 480
12.8.2 응집력의 증가 ... 483
요약 ... 486
주요 용어 ... 486
복습 문제 ... 488
연습 문제 ... 491
CHAPTER 13 객체지향 프로그래밍 ... 493
13.1 객체지향 프로그래밍의 개요 ... 494
13.2 클래스 ... 496
13.3 객체의 사용 ... 499
13.4 상속 ... 500
13.5 다형성 ... 505
13.6 생성자와 소멸자 ... 506
13.7 GUI 객체의 클래스 ... 510
13.8 객체지향 프로그래밍의 장점 ... 511
요약 ... 513
주요 용어 ... 513
복습 문제 ... 514
연습 문제 ... 517
부록 A 어려운 구조화 문제의 해결 ... 519
부록 B 수 체계와 컴퓨터 코드의 이해 ... 529
부록 C 큰 의사결정 테이블의 사용 ... 535
부록 D 프로그램 소스 ... 543
찾아보기 ... 585
더보기 닫기