《青少年信息学奥林匹克竞赛初级规範教程》是2008年清华大学出版社出版的图书,作者是滕伟。
基本介绍
- 书名:青少年信息学奥林匹克竞赛初级规範教程
- 作者:滕伟
- ISBN:730212499
- 页数:340
- 定价:32.00元
- 出版社:清华大学出版社
- 出版时间:2008年4月
- 装帧:平装
- 开本:32
出版信息
作者:滕伟
定价:32元
印次:1-4
ISBN:9787302124993
出版日期:2006.04.01
印刷日期:2008.04.21
定价:32元
印次:1-4
ISBN:9787302124993
出版日期:2006.04.01
印刷日期:2008.04.21
内容简介

本书主要包括Pascal语言语法知识、程式设计规範及基础的信息学奥林匹克竞赛编程部分内容。
本书共分11章。第1章介绍Pascal语言的基础知识;第2章介绍Pascal语言语句;第3章介绍Pascal语言子程式;第4章介绍Pascal语言用户定义类型;第5章介绍Pascal类型关係和集合类型;第6章介绍Pascal数组类型;第7章介绍Pascal记录类型;第8章介绍Pascal档案类型;第9章介绍Pascal指针类型;第10章为Pascal编程训练;第11章为历届分区联赛初试题题解。
本书在讲解Pascal语言语法的同时讲述了程式设计规範和如何建立程式设计思想,讲解过程中始终贯彻知识讲解结合上机操作。本书内容丰富并肯有体系性,讲解详细清晰,程式风格严谨规範。
本书适用于初学程式设计或初学信息学奥林匹克竞赛的中小学生自学同,也可作为信息学奥林匹克竞赛的基础培训教材。
目录
第1章Pascal语言基础 1
1.1了解程式结构 1
1.1.1Pascal程式结构 1
1.1.2Pascal程式编写格式 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上机操作二 11
1.4.1熟悉键盘 11
1.4.2学习程式的编辑操作 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.2变数说明 21
1.6.3说明语句的注意事项 21
练习题 22
1.7Pascal语言的算符 22
1.7.1算符介绍 23
1.7.2算术运算符 23
1.7.3关係运算符 24
1.7.4布尔运算符 24
1.7.5算符的优先权 24
练习题 26
1.8标準函式 27
1.8.1标準函式 27
1.8.2算术运算函式 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输出调用语句 34
1.10.1输出调用语句
语法图 34
1.10.2输出调用语句
执行过程 34
1.10.3输出格式 34
1.10.4用户自定义输出格式 36
练习题 37
1.11输入调用语句 37
1.11.1输入调用语句
语法图 38
1.11.2输入调用语句
执行过程 38
1.11.3数据输入 38
练习题 40
第2章Pascal语句 42
2.1複合语句 42
2.1.1複合语句语法图 42
2.1.2複合语句的执行过程 42
练习题 43
2.2如果语句 43
2.2.1如果语句语法图 44
2.2.2如果语句的执行过程 44
2.2.3如果语句嵌套原则 47
练习题 49
2.3情况语句 51
2.3.1情况语句语法图 51
2.3.2情况语句的执行过程 52
2.3.3情况语句使用说明 53
2.3.4情况语句嵌套 54
练习题 55
2.4循环语句 56
2.4.1 重複语句语法图 56
2.4.2Repeat语句的
执行过程 57
2.4.3当语句语法图 58
2.4.4当语句的执行过程 58
2.4.5两种循环语句的比较 60
2.4.6For语句语法图 62
2.4.7For语句的执行过程 62
2.4.8For语句与Repeat语句
和While语句的比较 63
2.4.9累加、累乘的使用 64
2.4.10控制循环流程的
过程语句 65
练习题 66
2.5多重循环 67
2.5.1列印图形 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.2模拟编程 83
2.8.3累加、累乘两小时 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子程式的使用 121
3.7.1子程式的结构化使用 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章Pascal类型关係和
集合类型 133
5.1类型的关係 133
5.1.1类型的一致性 133
5.1.2类型的相容性 134
5.1.3赋值相容 135
5.1.4过程和函式参数传递的
相容性 136
练习题 136
5.2集合类型 137
5.2.1集合的概念 137
5.2.2集合变数说明 138
5.2.3集合的操作 138
5.2.4集合的使用 140
练习题 143
第6章Pascal数组类型 144
6.1数组类型 144
6.1.1数组的引入 144
6.1.2数组类型的定义 145
6.1.3数组变数说明 146
6.1.4数组类型常量的定义 147
6.1.5数组类型的操作 147
练习题 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布尔数组 170
6.5.1布尔数组和集合类型
的关係 170
6.5.2套用举例 170
练习题 171
6.6字元串类型 171
6.6.1字元串类型定义 171
6.6.2字元串的变数说明 172
6.6.3字元串类型数据
的操作 172
6.6.4字元串使用 174
练习题 176
第7章Pascal记录类型 177
7.1记录类型 177
7.1.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
9.2.5双向鍊表结构 232
练习题 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.3.5输出问题 247
10.4高精度练习一 247
练习题 252
10.5编程完成进制转换 253
练习题 257
10.6高精度练习二 258
10.7循环枚举 263
第11章历届分区联赛初赛
试题解析 274
第七届全国青少年信息学奥林匹克
联赛普及组初赛试题和解答 274
第七届全国青少年信息学奥林匹克
联赛提高组初赛试题和解答 281
第八届全国青少年信息学奥林匹克
联赛普及组初赛试题和解答 289
第八届全国青少年信息学奥林匹克
联赛提高组初赛试题和解答 297
第九届全国青少年信息学奥林匹克
联赛普及组初赛试题和解答 304
第九届全国青少年信息学奥林匹克
联赛提高组初赛试题和解答 309
第十届全国青少年信息学奥林匹克
联赛普及组初赛试题和解答 316
第十届全国青少年信息学奥林匹克
联赛提高组初赛试题和解答 322
附录APascal编译错误对照表 331
附录BPascal运行错误对照表 338
参考文献 341
VI
青少年信息学奥林匹克竞赛初级规範教程
IX
目录