프로그래밍 언어 파스칼(터보 파스칼). 교육 수업. 초보자를 위한 파스칼 프로그래밍 언어: 기본 개념

이 책은 교과서가 아니라 컴퓨터 과학 수업에서 모든 학생들에게 소개되는 파스칼 프로그래밍 언어를 익히는 데 도움이 되는 책입니다. 프로그래밍과 문제 해결의 실제적인 문제에 관한 대화로 구성됩니다. 수많은 예제를 통해 알고리즘을 개발하고, 프로그램을 작성하고, 텍스트 형식을 올바르게 지정하는 방법을 더 잘 이해할 수 있습니다. 팁과 참고 사항은 독자의 주의를 중요한 세부 사항에 집중시키고, 함정을 피하고, 프로그램을 보다 효율적으로 작성하는 데 도움이 됩니다.
이 책은 수년간의 실무 경험이 풍부한 학교 컴퓨터 과학 교사가 집필했습니다.

프로그래밍 언어란 무엇입니까? 컴퓨터가 해결하는 모든 문제는 일련의 명령으로 작성됩니다. 이 시퀀스를 프로그램이라고 합니다. 물론 명령은 컴퓨터가 이해할 수 있는 언어로 표시되어야 합니다. 그러한 언어 중 하나가 파스칼 프로그래밍 언어입니다. 스위스의 Nikolaus Wirth 교수가 학생들에게 프로그래밍을 가르치기 위해 특별히 개발했습니다. 언어의 특성에는 구조도 포함됩니다. 즉, 프로그램은 더 간단하고 겹치지 않는 블록으로 쉽게 분할되며, 이는 다시 더 간단한 블록으로 분할됩니다. 이는 또한 프로그래밍을 더 쉽게 만듭니다. 1979년에 이 언어가 표준어로 승인되었습니다. Wirth는 계산기를 발명한 프랑스 과학자 Blaise Pascal의 이름을 따서 명명했습니다. Pascal 언어는 간단하고 논리적이며 효율적입니다. 그것은 전 세계에 퍼졌습니다. 우리의 대화는 프로그램의 구체적인 예를 기반으로 합니다. 긴 이론적 설명이 없으므로 프로그램 텍스트의 설명을 주의 깊게 읽는 것이 중요합니다!
그래서 우리는 Pascal의 첫 번째 프로그램으로 바로 첫 번째 대화를 시작합니다.

콘텐츠
소개 7
감사합니다 7
출판사에서 8
주제 1. Pascal 9에서 간단한 프로그램을 작성하는 방법
레슨 1.1. 표시 화면 10에 메시지를 표시합니다
레슨 1.2. 이 프로그램을 내 컴퓨터에 어떻게 설치하나요? 열하나
컴퓨터 프로그램을 만드는 단계 12
1. Pascal 14 환경 시작
2. Edit 16 편집창에서 작업하기
3. 프로그램을 디스크 19의 파일에 저장
4. 컴파일러 실행 20
5. 프로그램 21의 실행
6. 프로그램 결과 보기 21
7. Pascal 22 환경 종료
레슨 1.3. 화면 22의 텍스트 서식 지정
결론 28
시험 문제 28
주제 2. 수치 데이터를 작업에 통합하는 방법 30
레슨 2.1. 간단한 것부터 시작해보자: 정수 31
변수 32의 개념
정수를 입력하세요. 할당 연산자. 디스플레이 32
정수 34 유형의 연산
정수 36 유형의 표준 기능
정수형 변수가 컴퓨터 메모리에 표현되는 방식 38
레슨 2.2. 우리는 작업에 실수 39를 포함합니다
실제 데이터 유형에 대한 설명(Real) 40
실제 변수 기록 형식 40
자재 운영 41
Real 41 유형의 표준 기능
수학 표현식 작성 43
실제 유형 변수가 메모리에 표현되는 방식
컴퓨터 45
레슨 2.3. 정수형 변수와 실수형 변수를 결합하는 방법 46
유형 변환 46
수행된 작업의 우선순위 규칙 47
다양한 유형의 데이터를 사용한 작업 47
레슨 2.4. 데이터 입출력 51
키보드로 변수 입력하기 52
아름다운 디스플레이 52
난수센서를 이용한 변수값 설정 55
레슨 2.5. 프로그램에 상수가 필요한 이유는 무엇입니까? 57
결론 59
시험 문제 60
주제 3. 기호 작업 학습 61
레슨 3.1. 컴퓨터는 62자를 어떻게 이해합니까?
ASCII 62 코드 테이블
Char 유형 및 표준 함수 설명 63
레슨 3.2. Char 유형은 순서형입니다! 64
결론 66
시험 문제 67
주제 4. 조지 부울(George Boole)과 그의 논리 68
레슨 4.1. 한 가지 유형이 더 필요합니다 - 논리적입니다! 69
부울 데이터 유형 70
관계 연산 70
부울 I/O 71
레슨 4.2. 논리(부울) 연산 71
논리곱셈(결합) 72
논리적 덧셈(접합) 72
배타적 OR(모듈로 2 추가) 73
논리적 부정(역전) 74
프로그램 74에서 논리 연산 사용
논리연산의 우선순위 76
결론 77
시험 문제 78
TOPIC 5. 명령 실행 상황 및 순서 분석 79
레슨 5.1. 알고리즘 80의 상태 확인 및 분기
if 문의 완전하고 불완전한 형태 81
프로그램 설계 84
레슨 5.2. 연산자 블록 85
레슨 5.3. 여러 조건에 따른 분기(사례문) 90
결론 94
시험 문제 95
주제 6. 반복 작업 96
레슨 6.1. 97에 대한 루프문
증분 카운터 증가가 있는 For 문 97
카운터 99가 순차적으로 감소하는 명령문의 경우
레슨 6.2. 카운터가 99인 루프 사용
사이클 내 사이클 100
추적 101
계열 103의 합 계산
결론 107
시험 문제 108
주제 7. 조건 109가 있는 루프
레슨 7.1. 전제조건이 110인 루프
전제 조건 110이 포함된 루프에 대한 설명
무한 계열의 합의 대략적인 계산 111
지정된 정수 거듭제곱으로 숫자 입력 114
레슨 7.2. 사후 조건이 118인 루프
사후 조건이 있는 사이클에 대한 설명 119
반복 및 while 루프 사용 119
while 및 반복 연산자 선택의 상대성 123
결론 129
시험 문제 129
주제 8. 배열 - 구조화된 데이터 유형 131
레슨 8.1. 유사한 데이터를 테이블 형태로 저장하기 132
배열 작업을 위한 기본 단계 133
Pascal 133의 배열 설명
배열에 난수를 채워서 화면에 표시하기 134
사용자 정의 데이터 유형 생성 137
최대 배열 요소 찾기 141
주어진 속성을 가진 배열 요소의 합계와 개수 계산하기 146
레슨 8.2. 배열 148에서 검색
플래그를 사용하여 배열에 음수 요소가 있는지 확인하기 149
숫자 150을 계산하여 배열에 음수 요소가 있는지 확인
음수 배열 요소의 수 찾기 152
레슨 8.3. 2차원 배열 156
결론 158
시험 문제 159
주제 9. 보조 알고리즘. 절차 및 기능. 구조적 프로그래밍 160
레슨 9.1. 하향식 알고리즘 설계 161
보조 알고리즘을 사용한 실제 문제 162
레슨 9.2. 함수 작업의 예: 최대 요소 검색 169
결론 171
시험 문제 171
TOPIC 10. 문자열 작업 방법 1 72
레슨 10.1. 문자열 작업: String 1 73을 입력하세요.
문자열 변수에 대한 설명 173
174개의 문자열을 사용한 기본 작업
레슨 10.2. 문자열 작업을 위한 일부 파스칼 함수 및 절차 175
라이브러리 문자열 루틴 사용 175
결론 177
시험 문제 178
주제 11. 매개변수가 있는 프로시저 및 함수 179
레슨 11.1. 180개의 매개변수가 있는 서브루틴을 사용하는 간단한 예
180개의 매개변수를 사용한 가장 간단한 절차
형식적 매개변수와 실제 매개변수 182
183개의 매개변수를 갖춘 가장 간단한 기능
레슨 11.2. 매개변수 전달 방법 184
결론 187
시험 문제 187
TOPIC 12. 파일: 작업 결과를 다음 번까지 저장하기 189
레슨 12.1. 텍스트 파일로 작업하는 방법 190
읽기용 파일 열기 190
쓰기 위해 파일 열기 193
레슨 12.2. 2차원 숫자 배열을 텍스트 파일에 저장하기 196
숫자 데이터를 텍스트 파일에 저장하기 196
텍스트 파일에 숫자 배열 저장하기 197
파일 끝에 정보 추가 201
결론 202
시험 문제 203
주제 13. 그래픽 작동 모드. 그래프 204 모듈
레슨 13.1. 그래픽 모드 활성화 205
그래픽 작업의 특징 205
비디오 어댑터의 그래픽 모드로 전환 206
레슨 13.2. 우리는 Graph 208 모듈의 기능을 계속해서 탐구하고 있습니다.
그래프 모듈을 사용하여 선 그리기 209
Graph 210 모듈을 사용하여 원 그리기
결론 212
시험 문제 212
주제 14. 프로그램의 자연스러운 흐름을 바꾸는 연산자 213
레슨 14.1. goto 215 무조건 점프 연산자 사용
레슨 14.2. 루프의 흐름을 바꾸는 명령문 218
break 문 2.19
연산자 계속 220
결론 220
시험 문제 221
부록 1. 블록 다이어그램 요소 222
부록 2. 숙제 224
2장 과제 224
4장 과제 227
6~7장의 작업 229
8장 과제 236
알파벳순 색인 254

2판 - 상트페테르부르크: 2011. - 320와 함께.

이 책은 교과서가 아니라 컴퓨터 과학 수업에서 모든 학생들에게 소개되는 파스칼 프로그래밍 언어를 익히는 데 도움이 되는 책입니다. 실용적인 프로그래밍과 문제 해결에 관한 수업으로 구성됩니다. 수많은 예제를 통해 알고리즘을 개발하고, 프로그램을 작성하고, 텍스트 형식을 올바르게 지정하는 방법을 더 잘 이해할 수 있습니다. 팁과 메모는 독자가 중요한 세부 사항에 주의를 기울이는 데 도움이 되므로 함정을 피하고 프로그램을 보다 효율적으로 작성할 수 있습니다. 이 책은 수년간 실무 경험이 풍부한 학교의 컴퓨터 과학 교사가 준비했습니다. 두 번째 판에서는 레코드, 동적 변수, 스택, 대기열 및 목록에 대한 몇 가지 새로운 장을 추가합니다. 프로그래밍에서 가장 어려운 주제 중 하나인 재귀 알고리즘 구축도 다룹니다.

체재: PDF(2011년 2판, 320쪽)

크기: 14.5MB

시청, 다운로드: docs.google.com

콘텐츠
제2판 서문 15
소개 16
출판사에서 16
주제 1. Pascal에서 간단한 프로그램을 작성하는 방법 17
레슨 1.1. 디스플레이 화면에 메시지를 표시합니다 18
레슨 1.2. 컴퓨터에 이 프로그램을 설치하는 방법 19
컴퓨터 프로그램을 만드는 단계 20
레슨 1.3. 화면 28의 텍스트 서식 지정
결론 34
시험 문제 34
주제 2. 수치 데이터를 작업에 통합하는 방법 36
레슨 2.1. 간단한 것부터 시작해보자: 정수 37
변수 38의 개념
정수를 입력하세요. 할당 연산자. 디스플레이 38
정수 40 유형의 연산
Integer 42 유형의 표준 기능
정수형 변수가 표현되는 방식
컴퓨터 메모리 43
레슨 2.2. 우리는 작업에 실수 45를 포함합니다
실제 데이터 유형에 대한 설명(real) 45
실제 변수 기록 형식 46
자재 운영 46
실수 47 유형의 표준 기능
수학 표현식 작성 48
실수형 변수가 컴퓨터 메모리에 표현되는 방식 50
레슨 2.3. 정수형 변수와 실수형 변수를 결합하는 방법 51
유형 변환 51
수행된 작업의 우선순위 규칙 52
다양한 유형의 데이터에 대한 조치 53
레슨 2.4. 데이터 입출력 56
키보드로 변수 입력하기 57
아름다운 디스플레이 57
난수센서를 이용한 변수값 설정 61
레슨 2.5. 프로그램에 상수가 필요한 이유는 무엇입니까? 62
결론 64
시험 문제 64
주제 3. 기호 작업 학습 66
레슨 3.1. 컴퓨터는 기호를 어떻게 이해하는가 67
ASCII 67 코드 테이블
Char 유형 및 표준 함수 설명 68
레슨 3.2. Char 유형은 순서형입니다! 70
결론 71
시험 문제 72
주제 4. 조지 부울(George Boole)과 그의 논리 73
레슨 4.1. 한 가지 유형이 더 필요합니다 - 논리적입니다! 74
부울 데이터 유형 75
관계 연산 75
부울 I/O 76
레슨 4.2. 논리(부울) 연산 76
논리곱셈(결합) 76
논리적 덧셈(접합) 77
배타적 OR(모듈로 2 추가) 77
논리적 부정(역전) 78
프로그램 78에서 논리 연산 사용
논리연산 우선순위 80
결론 81
시험 문제 81
TOPIC 5. 명령 실행 상황 및 순서 분석 82
레슨 5.1. 알고리즘 83에서 조건 확인 및 분기
if 문의 전체 및 부분 형식 84
프로그램 설계 86
레슨 5.2. 연산자 블록 88
레슨 5.3. 여러 조건에 따른 분기(케이스 설명) 92
결론 96
시험 문제 96
주제 6. 반복 작업 98
레슨 6.1. 99에 대한 루프 문
카운터가 순차적으로 증가하는 연산자 100 카운터가 순차적으로 감소하는 연산자 101
레슨 6.2. 카운터 101과 함께 루프 사용
사이클 내 사이클 102
추적 103
계열 105의 합 계산
결론 108
시험 문제 109
주제 7. 조건 110의 루프
레슨 7.1. 전제조건이 111인 루프
전제 조건 111이 포함된 루프에 대한 설명
무한 계열의 합의 대략적인 계산 112
숫자를 지정된 정수 거듭제곱으로 올리기 115
레슨 7.2. 사후 조건이 119인 루프
사후 조건이 120인 루프에 대한 설명
반복 및 while 루프 사용 120
while 및 반복 연산자 선택의 상대성 123
결론 129
시험 문제 129
주제 8. 배열 - 구조화된 데이터 유형 131
레슨 8.1. 유사한 데이터를 테이블 형태로 저장하기 132
배열 작업을 위한 기본 단계 133
Pascal 133의 배열 설명
배열에 난수를 채워서 화면에 표시하기 134
사용자 정의 데이터 유형 생성 137
최대 배열 요소 찾기 140
주어진 속성을 가진 배열 요소의 합과 개수 계산하기 144
레슨 8.2. 배열 148에서 검색
플래그를 사용하여 배열에 음수 요소가 있는지 확인 148
숫자를 계산하여 배열에 음수 요소가 있는지 확인 149
배열의 음수 요소 수 찾기 150
레슨 8.3. 2차원 배열 154
결론 156
시험 문제 157
주제 9. 보조 알고리즘. 절차 및 기능. 구조적 프로그래밍 1 58
레슨 9.1. 하향식 알고리즘 설계 159
보조 알고리즘을 활용한 실제 문제 160
레슨 9.2. 기능 사용 예: 최대 요소 찾기 167
결론 168
시험 문제 169
주제 10. 문자열 작업 방법 170
레슨 10.1. 문자열 작업: String 171을 입력하세요.
문자열 변수에 대한 설명 171
172개의 문자열을 사용한 기본 작업
레슨 10.2. 문자열 작업을 위한 일부 파스칼 함수 및 절차 173
라이브러리 문자열 루틴 사용 173
결론 175
시험 문제 175
주제 11. 매개변수를 사용한 프로시저 및 함수 176
레슨 11.1. 매개변수와 함께 서브루틴을 사용하는 간단한 예 177
매개변수를 사용한 가장 간단한 절차 177
형식적 매개변수와 실제 매개변수 179
매개변수를 사용한 가장 간단한 기능 179
레슨 11.2. 매개변수 전달 방법 181
결론 183
시험 문제 184
TOPIC 12. 파일: 작업 결과를 다음 번까지 저장 185
레슨 12.1. 텍스트 파일로 작업하는 방법 186
읽기 위해 파일 열기 186
쓰기 위해 파일 열기 188
레슨 12.2. 2차원 숫자 배열을 텍스트 파일에 저장하기 192
숫자 데이터를 텍스트 파일에 저장하기 192
텍스트 파일에 숫자 배열 저장하기 192
파일 끝에 정보 추가하기 196
결론 197
시험 문제 197
주제 13. 그래픽 작동 모드. 그래프 모듈 199
레슨 13.1. 그래픽 모드 활성화 200
그래픽 작업 기능 200
비디오 어댑터의 그래픽 모드로 전환 201
레슨 13.2. 우리는 Graph 203 모듈의 기능을 계속해서 탐구합니다.
Graph 203 모듈을 사용하여 선 그리기
Graph 205 모듈을 사용하여 원 그리기
결론 206
시험 문제 207
주제 14. 프로그램의 자연스러운 흐름을 바꾸는 연산자 208
레슨 14.1. goto 210 무조건 점프 연산자 사용
레슨 14.2. 루프의 흐름을 바꾸는 명령문 213
break 문 213
계속 연산자 214
결론 215
시험 문제 215
주제 15. 데이터 그룹화: 레코드 216
레슨 15.1. 데이터 유형 레코드 설명 218
레슨 15.2. 220레코드를 현명하게 활용하는 시기와 방법
자신만의 데이터 유형 만들기 - 항목 220
레코드 배열 220
221과 연산자 결합
데이터 구조 선택 예시 223
기록의 기록 224
결론 225
시험 문제 및 과제 225
주제 16. 동적 변수 226
레슨 16.1. 메모리 할당 227
레슨 16.2. 주소 229
레슨 16.3. 표지판 230
개별 변수에 대한 포인터 230
변수 블록에 대한 포인터 232
레슨 16.4. 동적 메모리 할당 232
신규 및 폐기 233
배열에 대한 동적 메모리 할당 235
GetMem 및 FreeMem 236
동적으로 생성된 배열 요소에 액세스하기 237
가변 길이 배열 238
결론 241
시험 문제 242
주제 17. 동적 데이터 구조. 스택 244
레슨 17.1. 데이터 유형 245를 설명하겠습니다.
레슨 17.2. 스택 생성 및 기본 스택 작업 247
스택에 요소 추가(Push) 248
스택에서 요소 팝핑(Pop) 251
스택이 비어 있는지 확인(StacklsEmpty) 252
레슨 17.3. 253 스택 사용
255 어레이를 사용하여 스택 프로그래밍
결론 256
시험 문제 및 과제 256
주제 18. 동적 데이터 구조. 대기열 258
레슨 18.1. 데이터 유형의 작동 원리 및 설명 259
레슨 18.2. 기본 대기열 작업 261
대기열에 요소 추가(EnQueue) 261
대기열에서 요소 제거(DeQueue) 263
큐의 비어 있음 확인(QueuelsEmpty) 264
레슨 18.3. 대기열 264 사용
배열을 사용하여 대기열 프로그래밍 267
결론 269
시험 문제 269
주제 19. 동적 데이터 구조. 단방향 목록 270
레슨 19.1. 데이터 유형 및 작동 원리 설명 271
레슨 19.2. 단방향 목록을 사용한 기본 작업 272
모든 목록 요소를 순차적으로 보기 272
목록에 요소 배치하기 273
목록에서 요소 제거하기 275
레슨 19.3. 목록 처리 276
단방향 목록 사용의 타당성 278
결론 280
시험문제 280
주제 20. 재귀 281
레슨 20.1. 원리 282에 대한 설명
레슨 20.2. 하노이 타워 285
레슨 20.3. 반복 서브루틴의 구조 287
레슨 20.4. 반복되지 않는 문제에 대한 반복적인 해결 방법의 예 288
레슨 20.5. 반복되는 문제에 대한 반복적인 해결 방법의 예 289
결론 291
시험 문제 291
부록 1. 블록 다이어그램 요소 292
부록 2. 문제 295
정수. 설명. 입력하다. 결론. 운영 296
진짜. 설명. 입력하다. 결론. 작동 및 기능 296
진짜. 표현식 작성 및 평가 297
숯. 설명. 입력하다. 결론. 기능 298
부울. 표현식 작성 298
부울. 표현식 평가 299
만약에. 간단한 비교. 최소/최대/평균 300
만약에. 300개 매개변수를 사용한 방정식 및 부등식
을 위한. 환승 300
을 위한. 루프 카운터 301을 사용한 계산
을 위한. 비교를 통한 과잉 302
동안 반복. 검색 302
동안 반복. 행 303
그래픽 아트. 스트레이트 303
그래픽 아트. 서클 304
배열. 충전, 출금, 금액/수량 305
배열. 순열 305
배열. 검색 306
배열. 수표 307
배열. 최대 307
매개변수가 없는 서브루틴 307
윤곽. 제1부 308
윤곽. 제2부 309
매개변수가 있는 서브루틴. 제1부 309
매개변수가 있는 서브루틴. 제2부 310
매개변수가 있는 서브루틴. 제3부 310
파일 311
단방향 목록 312
재귀 313

책의 초판이 출판된 후, 우리 동료들과 학생들은 가장 많이 연구되고 수요가 많은 데이터 구조에 대한 정보로 초판을 보완해 달라는 요청으로 점점 더 많이 우리에게 연락하기 시작했습니다. 이번 판에서는 레코드, 동적 변수, 스택, 대기열 및 목록에 대한 여러 장을 추가했습니다. 우리는 또한 프로그래밍에서 가장 어려운 주제 중 하나인 재귀 알고리즘 구축을 다루려고 노력했습니다.
지원서에서 우리는 여러 주제에 대한 많은 옵션이 있는 숙제 모음을 포기하기로 결정했습니다. 대신에 우리는 5~8개의 작업 블록으로 구성된 수많은 주제별 작업을 애플리케이션에 포함시켰습니다. 각 블록의 작업은 단순한 것부터 복잡한 것 순으로 정렬되어 있습니다. 우리는 수업에서 이를 사용하여 이론적 자료(1레슨 - 1블록)를 강화하면서 실용적인 수업을 구성합니다.
저자들은 최고의 학생 중 한 명인 상트페테르부르크 주립 항공대학교 정보 시스템 보안학과 부교수인 Ph.D.에게 깊은 감사를 표합니다. Evgeniy Mikhailovich Linsky는 책의 두 번째 판을 작업할 때 지원과 많은 유용한 팁, 큰 도움을 주었습니다.

2판 - 상트페테르부르크: 2011. - 320와 함께.

이 책은 교과서가 아니라 컴퓨터 과학 수업에서 모든 학생들에게 소개되는 파스칼 프로그래밍 언어를 익히는 데 도움이 되는 책입니다. 실용적인 프로그래밍과 문제 해결에 관한 수업으로 구성됩니다. 수많은 예제를 통해 알고리즘을 개발하고, 프로그램을 작성하고, 텍스트 형식을 올바르게 지정하는 방법을 더 잘 이해할 수 있습니다. 팁과 메모는 독자가 중요한 세부 사항에 주의를 기울이는 데 도움이 되므로 함정을 피하고 프로그램을 보다 효율적으로 작성할 수 있습니다. 이 책은 수년간 실무 경험이 풍부한 학교의 컴퓨터 과학 교사가 준비했습니다. 두 번째 판에서는 레코드, 동적 변수, 스택, 대기열 및 목록에 대한 몇 가지 새로운 장을 추가합니다. 프로그래밍에서 가장 어려운 주제 중 하나인 재귀 알고리즘 구축도 다룹니다.

체재: PDF(2011년 2판, 320쪽)

크기: 14.5MB

시청, 다운로드: docs.google.com

콘텐츠
제2판 서문 15
소개 16
출판사에서 16
주제 1. Pascal에서 간단한 프로그램을 작성하는 방법 17
레슨 1.1. 디스플레이 화면에 메시지를 표시합니다 18
레슨 1.2. 컴퓨터에 이 프로그램을 설치하는 방법 19
컴퓨터 프로그램을 만드는 단계 20
레슨 1.3. 화면 28의 텍스트 서식 지정
결론 34
시험 문제 34
주제 2. 수치 데이터를 작업에 통합하는 방법 36
레슨 2.1. 간단한 것부터 시작해보자: 정수 37
변수 38의 개념
정수를 입력하세요. 할당 연산자. 디스플레이 38
정수 40 유형의 연산
Integer 42 유형의 표준 기능
정수형 변수가 표현되는 방식
컴퓨터 메모리 43
레슨 2.2. 우리는 작업에 실수 45를 포함합니다
실제 데이터 유형에 대한 설명(real) 45
실제 변수 기록 형식 46
자재 운영 46
실수 47 유형의 표준 기능
수학 표현식 작성 48
실수형 변수가 컴퓨터 메모리에 표현되는 방식 50
레슨 2.3. 정수형 변수와 실수형 변수를 결합하는 방법 51
유형 변환 51
수행된 작업의 우선순위 규칙 52
다양한 유형의 데이터에 대한 조치 53
레슨 2.4. 데이터 입출력 56
키보드로 변수 입력하기 57
아름다운 디스플레이 57
난수센서를 이용한 변수값 설정 61
레슨 2.5. 프로그램에 상수가 필요한 이유는 무엇입니까? 62
결론 64
시험 문제 64
주제 3. 기호 작업 학습 66
레슨 3.1. 컴퓨터는 기호를 어떻게 이해하는가 67
ASCII 67 코드 테이블
Char 유형 및 표준 함수 설명 68
레슨 3.2. Char 유형은 순서형입니다! 70
결론 71
시험 문제 72
주제 4. 조지 부울(George Boole)과 그의 논리 73
레슨 4.1. 한 가지 유형이 더 필요합니다 - 논리적입니다! 74
부울 데이터 유형 75
관계 연산 75
부울 I/O 76
레슨 4.2. 논리(부울) 연산 76
논리곱셈(결합) 76
논리적 덧셈(접합) 77
배타적 OR(모듈로 2 추가) 77
논리적 부정(역전) 78
프로그램 78에서 논리 연산 사용
논리연산 우선순위 80
결론 81
시험 문제 81
TOPIC 5. 명령 실행 상황 및 순서 분석 82
레슨 5.1. 알고리즘 83에서 조건 확인 및 분기
if 문의 전체 및 부분 형식 84
프로그램 설계 86
레슨 5.2. 연산자 블록 88
레슨 5.3. 여러 조건에 따른 분기(케이스 설명) 92
결론 96
시험 문제 96
주제 6. 반복 작업 98
레슨 6.1. 99에 대한 루프 문
카운터가 순차적으로 증가하는 연산자 100 카운터가 순차적으로 감소하는 연산자 101
레슨 6.2. 카운터 101과 함께 루프 사용
사이클 내 사이클 102
추적 103
계열 105의 합 계산
결론 108
시험 문제 109
주제 7. 조건 110의 루프
레슨 7.1. 전제조건이 111인 루프
전제 조건 111이 포함된 루프에 대한 설명
무한 계열의 합의 대략적인 계산 112
숫자를 지정된 정수 거듭제곱으로 올리기 115
레슨 7.2. 사후 조건이 119인 루프
사후 조건이 120인 루프에 대한 설명
반복 및 while 루프 사용 120
while 및 반복 연산자 선택의 상대성 123
결론 129
시험 문제 129
주제 8. 배열 - 구조화된 데이터 유형 131
레슨 8.1. 유사한 데이터를 테이블 형태로 저장하기 132
배열 작업을 위한 기본 단계 133
Pascal 133의 배열 설명
배열에 난수를 채워서 화면에 표시하기 134
사용자 정의 데이터 유형 생성 137
최대 배열 요소 찾기 140
주어진 속성을 가진 배열 요소의 합과 개수 계산하기 144
레슨 8.2. 배열 148에서 검색
플래그를 사용하여 배열에 음수 요소가 있는지 확인 148
숫자를 계산하여 배열에 음수 요소가 있는지 확인 149
배열의 음수 요소 수 찾기 150
레슨 8.3. 2차원 배열 154
결론 156
시험 문제 157
주제 9. 보조 알고리즘. 절차 및 기능. 구조적 프로그래밍 1 58
레슨 9.1. 하향식 알고리즘 설계 159
보조 알고리즘을 활용한 실제 문제 160
레슨 9.2. 기능 사용 예: 최대 요소 찾기 167
결론 168
시험 문제 169
주제 10. 문자열 작업 방법 170
레슨 10.1. 문자열 작업: String 171을 입력하세요.
문자열 변수에 대한 설명 171
172개의 문자열을 사용한 기본 작업
레슨 10.2. 문자열 작업을 위한 일부 파스칼 함수 및 절차 173
라이브러리 문자열 루틴 사용 173
결론 175
시험 문제 175
주제 11. 매개변수를 사용한 프로시저 및 함수 176
레슨 11.1. 매개변수와 함께 서브루틴을 사용하는 간단한 예 177
매개변수를 사용한 가장 간단한 절차 177
형식적 매개변수와 실제 매개변수 179
매개변수를 사용한 가장 간단한 기능 179
레슨 11.2. 매개변수 전달 방법 181
결론 183
시험 문제 184
TOPIC 12. 파일: 작업 결과를 다음 번까지 저장 185
레슨 12.1. 텍스트 파일로 작업하는 방법 186
읽기 위해 파일 열기 186
쓰기 위해 파일 열기 188
레슨 12.2. 2차원 숫자 배열을 텍스트 파일에 저장하기 192
숫자 데이터를 텍스트 파일에 저장하기 192
텍스트 파일에 숫자 배열 저장하기 192
파일 끝에 정보 추가하기 196
결론 197
시험 문제 197
주제 13. 그래픽 작동 모드. 그래프 모듈 199
레슨 13.1. 그래픽 모드 활성화 200
그래픽 작업 기능 200
비디오 어댑터의 그래픽 모드로 전환 201
레슨 13.2. 우리는 Graph 203 모듈의 기능을 계속해서 탐구합니다.
Graph 203 모듈을 사용하여 선 그리기
Graph 205 모듈을 사용하여 원 그리기
결론 206
시험 문제 207
주제 14. 프로그램의 자연스러운 흐름을 바꾸는 연산자 208
레슨 14.1. goto 210 무조건 점프 연산자 사용
레슨 14.2. 루프의 흐름을 바꾸는 명령문 213
break 문 213
계속 연산자 214
결론 215
시험 문제 215
주제 15. 데이터 그룹화: 레코드 216
레슨 15.1. 데이터 유형 레코드 설명 218
레슨 15.2. 220레코드를 현명하게 활용하는 시기와 방법
자신만의 데이터 유형 만들기 - 항목 220
레코드 배열 220
221과 연산자 결합
데이터 구조 선택 예시 223
기록의 기록 224
결론 225
시험 문제 및 과제 225
주제 16. 동적 변수 226
레슨 16.1. 메모리 할당 227
레슨 16.2. 주소 229
레슨 16.3. 표지판 230
개별 변수에 대한 포인터 230
변수 블록에 대한 포인터 232
레슨 16.4. 동적 메모리 할당 232
신규 및 폐기 233
배열에 대한 동적 메모리 할당 235
GetMem 및 FreeMem 236
동적으로 생성된 배열 요소에 액세스하기 237
가변 길이 배열 238
결론 241
시험 문제 242
주제 17. 동적 데이터 구조. 스택 244
레슨 17.1. 데이터 유형 245를 설명하겠습니다.
레슨 17.2. 스택 생성 및 기본 스택 작업 247
스택에 요소 추가(Push) 248
스택에서 요소 팝핑(Pop) 251
스택이 비어 있는지 확인(StacklsEmpty) 252
레슨 17.3. 253 스택 사용
255 어레이를 사용하여 스택 프로그래밍
결론 256
시험 문제 및 과제 256
주제 18. 동적 데이터 구조. 대기열 258
레슨 18.1. 데이터 유형의 작동 원리 및 설명 259
레슨 18.2. 기본 대기열 작업 261
대기열에 요소 추가(EnQueue) 261
대기열에서 요소 제거(DeQueue) 263
큐의 비어 있음 확인(QueuelsEmpty) 264
레슨 18.3. 대기열 264 사용
배열을 사용하여 대기열 프로그래밍 267
결론 269
시험 문제 269
주제 19. 동적 데이터 구조. 단방향 목록 270
레슨 19.1. 데이터 유형 및 작동 원리 설명 271
레슨 19.2. 단방향 목록을 사용한 기본 작업 272
모든 목록 요소를 순차적으로 보기 272
목록에 요소 배치하기 273
목록에서 요소 제거하기 275
레슨 19.3. 목록 처리 276
단방향 목록 사용의 타당성 278
결론 280
시험문제 280
주제 20. 재귀 281
레슨 20.1. 원리 282에 대한 설명
레슨 20.2. 하노이 타워 285
레슨 20.3. 반복 서브루틴의 구조 287
레슨 20.4. 반복되지 않는 문제에 대한 반복적인 해결 방법의 예 288
레슨 20.5. 반복되는 문제에 대한 반복적인 해결 방법의 예 289
결론 291
시험 문제 291
부록 1. 블록 다이어그램 요소 292
부록 2. 문제 295
정수. 설명. 입력하다. 결론. 운영 296
진짜. 설명. 입력하다. 결론. 작동 및 기능 296
진짜. 표현식 작성 및 평가 297
숯. 설명. 입력하다. 결론. 기능 298
부울. 표현식 작성 298
부울. 표현식 평가 299
만약에. 간단한 비교. 최소/최대/평균 300
만약에. 300개 매개변수를 사용한 방정식 및 부등식
을 위한. 환승 300
을 위한. 루프 카운터 301을 사용한 계산
을 위한. 비교를 통한 과잉 302
동안 반복. 검색 302
동안 반복. 행 303
그래픽 아트. 스트레이트 303
그래픽 아트. 서클 304
배열. 충전, 출금, 금액/수량 305
배열. 순열 305
배열. 검색 306
배열. 수표 307
배열. 최대 307
매개변수가 없는 서브루틴 307
윤곽. 제1부 308
윤곽. 제2부 309
매개변수가 있는 서브루틴. 제1부 309
매개변수가 있는 서브루틴. 제2부 310
매개변수가 있는 서브루틴. 제3부 310
파일 311
단방향 목록 312
재귀 313

책의 초판이 출판된 후, 우리 동료들과 학생들은 가장 많이 연구되고 수요가 많은 데이터 구조에 대한 정보로 초판을 보완해 달라는 요청으로 점점 더 많이 우리에게 연락하기 시작했습니다. 이번 판에서는 레코드, 동적 변수, 스택, 대기열 및 목록에 대한 여러 장을 추가했습니다. 우리는 또한 프로그래밍에서 가장 어려운 주제 중 하나인 재귀 알고리즘 구축을 다루려고 노력했습니다.
지원서에서 우리는 여러 주제에 대한 많은 옵션이 있는 숙제 모음을 포기하기로 결정했습니다. 대신에 우리는 5~8개의 작업 블록으로 구성된 수많은 주제별 작업을 애플리케이션에 포함시켰습니다. 각 블록의 작업은 단순한 것부터 복잡한 것 순으로 정렬되어 있습니다. 우리는 수업에서 이를 사용하여 이론적 자료(1레슨 - 1블록)를 강화하면서 실용적인 수업을 구성합니다.
저자들은 최고의 학생 중 한 명인 상트페테르부르크 주립 항공대학교 정보 시스템 보안학과 부교수인 Ph.D.에게 깊은 감사를 표합니다. Evgeniy Mikhailovich Linsky는 책의 두 번째 판을 작업할 때 지원과 많은 유용한 팁, 큰 도움을 주었습니다.



질문이 있으신가요?

오타 신고

편집자에게 전송될 텍스트: