《青少年信息学奥林匹克竞赛初级规范教程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:藤伟主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2006
  • ISBN:730212499X
  • 页数:341 页
图书介绍:本书主要包括Pascal语言语法知识,程序设计规范及基础的信息学奥林匹克竞赛编程训练三部分。本书共分5章。第1章介绍了Pascal语言的语法知识,第2章介绍了Pascal语言语句,第3章介绍了Pascal语言子程序,第4章介绍了Pascal语言类型,第5章是编程能力训练。本书内容丰富,具有体系性,讲解详细清晰。程序风格严谨规范。

第1章 Pascal语言基础 1

1.1 了解程序结构 1

1.1.1 Pascal程序结构 1

目录 1

1.1.2 Pascal程序编写格式 2

练习题 4

1.2 上机操作 5

1.2.1 安装Pascal 5

1.2.2 上机操作 5

1.3 语法图和词法单位 7

1.3.1 语法图图形符号 7

1.3.2 程序结构描述 7

1.3.3 词法单位 9

练习题 10

1.4.1 熟悉键盘 11

1.4.2 学习程序的编辑操作 11

1.4 上机操作二 11

1.4.3 块操作 12

1.5 标准类型 14

1.5.1 数据类型 14

1.5.2 标准类型 15

练习题 19

1.6 常量、变量的说明 19

1.6.1 常量说明 20

1.6.3 说明语句的注意事项 21

1.6.2 变量说明 21

练习题 22

1.7 Pascal语言的算符 22

1.7.1 算符介绍 23

1.7.2 算术运算符 23

1.7.3 关系运算符 24

1.7.4 布尔运算符 24

1.7.5 算符的优先级 24

练习题 26

1.8.1 标准函数 27

1.8.2 算术运算函数 27

1.8 标准函数 27

1.8.3 转换函数 29

1.8.4 顺序函数 30

1.8.5 判断函数 30

1.8.6 随机函数 30

练习题 31

1.9 赋值语句 32

1.9.1 赋值语句语法图 32

1.9.2 赋值语句执行过程 32

1.9.3 使用注意事项 32

练习题 33

1.10.2 输出调用语句执行过程 34

1.10.3 输出格式 34

1.10 输出调用语句 34

1.10.1 输出调用语句语法图 34

1.10.4 用户自定义输出格式 36

练习题 37

1.11 输入调用语句 37

1.11.1 输入调用语句语法图 38

1.11.2 输入调用语句执行过程 38

1.11.3 数据输入 38

练习题 40

2.1.1 复合语句语法图 42

2.1.2 复合语句的执行过程 42

第2章 Pascal语句 42

2.1 复合语句 42

练习题 43

2.2 如果语句 43

2.2.1 如果语句语法图 44

2.2.2 如果语句的执行过程 44

2.2.3 如果语句嵌套原则 47

练习题 49

2.3.1 情况语句语法图 51

2.3 情况语句 51

2.3.2 情况语句的执行过程 52

2.3.3 情况语句使用说明 53

2.3.4 情况语句嵌套 54

练习题 55

2.4 循环语句 56

2.4.1 重复语句语法图 56

2.4.2 Repeat语句的执行过程 57

2.4.4 当语句的执行过程 58

2.4.3 当语句语法图 58

2.4.5 两种循环语句的比较 60

2.4.6 For语句语法图 62

2.4.7 For语句的执行过程 62

2.4.8 For语句与Repeat语句和While语句的比较 63

2.4.9 累加、累乘的使用 64

2.4.10 控制循环流程的过程语句 65

练习题 66

2.5.1 打印图形 67

2.5 多重循环 67

2.5.2 人口增长问题 69

练习题 69

2.6 程序设计初步 70

2.6.1 程序设计方法 70

2.6.2 程序质量 71

2.6.3 程序优化 72

练习题 73

2.7 编程风格 74

2.7.1 程序简要说明 74

2.7.2 程序版式 74

2.7.3 命名规则 77

2.7.4 基本语句 78

练习题 80

2.8 编程练习题 80

2.8.1 理解循环 82

2.8.3 累加、累乘两小时 83

2.8.2 模拟编程 83

2.8.4 求最值 84

2.8.5 统计问题 84

2.8.6 归纳分析 84

2.8.7 枚举问题 84

第3章 子程序 87

3.1 过程与函数简介 87

3.1.1 子程序的概念 87

3.1.2 子程序的作用 87

3.1.3 子程序的分类 88

练习题 89

3.2 函数的定义与调用 89

3.2.1 函数的定义 89

3.2.2 函数的调用 91

练习题 92

3.3 过程的定义与调用 93

3.3.1 过程的说明 93

3.3.2 过程的调用 95

练习题 96

3.4 参数传递 97

3.4.1 值参数 97

3.4.2 变量参数 97

3.4.3 选择参数的原则 100

练习题 100

3.5 标识符的作用域 101

3.5.1 全程变量和局部变量 101

3.5.2 标识符的作用域 103

3.5.3 将子程序值传递给主程序 104

练习题 106

3.6 子程序的嵌套、递归和递推 106

3.6.1 子程序嵌套 106

3.6.2 子程序递归 109

3.6.3 递推 114

练习题 115

3.7.1 子程序的结构化使用 121

3.7 子程序的使用 121

3.7.2 递归的深入理解 122

练习题 123

第4章 Pascal语言用户自定义类型 125

4.1 枚举类型 125

4.1.1 用户自定义类型 125

4.1.2 枚举类型定义 126

4.1.3 变量说明 126

4.1.4 枚举类型数据的操作 127

练习题 129

4.2 子界类型 129

4.2.1 子界类型的定义 130

4.2.2 变量说明 130

4.2.3 子界类型的操作 131

练习题 132

5.1 类型的关系 133

5.1.1 类型的一致性 133

第5章 Pascal类型关系和集合类型 133

5.1.2 类型的相容性 134

5.1.3 赋值相容 135

5.1.4 过程和函数参数传递的相容性 136

练习题 136

5.2 集合类型 137

5.2.1 集合的概念 137

5.2.3 集合的操作 138

5.2.2 集合变量说明 138

5.2.4 集合的使用 140

练习题 143

第6章 Pascal数组类型 144

6.1 数组类型 144

6.1.1 数组的引入 144

6.1.2 数组类型的定义 145

6.1.3 数组变量说明 146

练习题 147

6.1.5 数组类型的操作 147

6.1.4 数组类型常量的定义 147

6.2 一维数组应用 148

6.2.1 数据交换 148

6.2.2 排序算法 149

6.2.3 打印杨辉三角形 152

练习题 154

6.3 二维数组应用 154

6.3.1 观察行列关系 154

6.3.2 方阵转置 155

6.3.3 打印杨辉三角形 156

6.3.4 成绩统计 156

6.3.5 矩阵相乘 157

练习题 158

6.4 二维数组练习 160

6.5.1 布尔数组和集合类型的关系 170

6.5.2 应用举例 170

6.5 布尔数组 170

练习题 171

6.6 字符串类型 171

6.6.1 字符串类型定义 171

6.6.2 字符串的变量说明 172

6.6.3 字符串类型数据的操作 172

6.6.4 字符串使用 174

练习题 176

7.1.1 记录类型定义 177

第7章 Pascal记录类型 177

7.1 记录类型 177

7.1.2 记录变量说明 178

7.1.3 类型常量说明 179

7.1.4 记录类型操作 179

7.1.5 记录类型定义的嵌套 181

7.1.6 开域语句 182

练习题 184

7.2 记录类型练习 184

7.2.1 简单练习 185

7.2.2 记录数组的练习 188

练习题 190

第8章 Pascal文件类型 191

8.1 文件类型 191

8.1.1 文件的概述 191

8.1.2 文件类型定义 192

8.1.3 变量说明 192

8.1.4 处理文件的过程和函数 193

8.1.5 文件的分类 195

练习题 196

8.2 文本文件的使用 196

8.2.1 文本文件的特点 196

8.2.2 文本文件的操作 196

8.2.3 文本文件练习 197

8.2.4 标准文件 198

练习题 207

8.3 类型文件的使用 209

8.3.1 类型文件的特点 209

8.3.2 类型文件的练习 209

练习题 211

第9章 Pascal指针类型 215

9.1 指针类型 215

9.1.1 指针类型概念 215

9.1.2 指针的类型定义 216

9.1.3 指针变量说明 216

9.1.4 指针的变量操作 216

练习题 218

9.2 指针类型应用 221

9.2.1 链表结点定义 222

9.2.2 链表的建立 222

9.2.3 链表的操作 224

9.2.4 环形链表结构 230

练习题 232

9.2.5 双向链表结构 232

第10章 编程训练 235

10.1 进制转换 235

10.1.1 进制介绍 235

10.1.2 十进制二进制数值转换 235

10.1.3 二进制、十进制、十六进制数值转换 237

练习题 238

10.2 计算机编码 239

10.2.1 原码 239

10.2.2 反码 240

10.2.3 补码 240

10.3 高精度训练 241

10.3.1 高精度计算的引入 241

10.3.2 数据输入 243

10.3.3 估算结果位数 244

10.3.4 计算和进位问题 245

10.4 高精度练习一 247

10.3.5 输出问题 247

练习题 252

10.5 编程完成进制转换 253

练习题 257

10.6 高精度练习二 258

10.7 循环枚举 263

第11章 历届分区联赛初赛试题解析 274

第七届 全国青少年信息学奥林匹克联赛普及组初赛试题和解答 274

第七届 全国青少年信息学奥林匹克联赛提高组初赛试题和解答 281

第八届 全国青少年信息学奥林匹克联赛普及组初赛试题和解答 289

第八届 全国青少年信息学奥林匹克联赛提高组初赛试题和解答 297

第九届 全国青少年信息学奥林匹克联赛普及组初赛试题和解答 304

第九届 全国青少年信息学奥林匹克联赛提高组初赛试题和解答 309

第十届 全国青少年信息学奥林匹克联赛普及组初赛试题和解答 316

第十届 全国青少年信息学奥林匹克联赛提高组初赛试题和解答 322

附录A Pascal编译错误对照表 331

附录B Pascal运行错误对照表 338

参考文献 341