
编辑推荐
编程,原来可以如此简单、有趣!
作者简介
作者:张新华
张新华,浙江大学计算机科学与技术学士学位,厦门大学软件工程硕士学位,浙江省瑞安中学信息学奥赛金牌教练,中学高级教师,省信息技术教材的编写者之一,培养的学生多次获全国青少年信息学奥林匹克联赛一等奖和亚洲与太平洋地区信息学奥林匹克竞赛金牌,培养的学生多次在全国智能机器人竞赛中获全国冠军及全国一等奖,全国优质课一等奖获得者,2016年在清华大学出版社出版《算法竞赛宝典》三部共约200万字,独立开发和改进了基于OpenGL引擎的三维图形化C++编程工具—Dev-C++智能开发平台。
目录
第一章 欲善其事,必利其器.1
软件的介绍 .1
茶壶的绘制 .5
实时绘图形 .12
第二章 小试牛刀,初露锋芒.14
向世界问好 .14
绘制字符画 .16
第三章 抑扬顿挫,余音绕梁.20
奏高山流水 .20
诵千古绝句 .23
用语音聊天 .25
做声控电脑 .26
第四章 追风逐电,毫发不伤.28
使用运算符 .28
数据的输入 .49
第五章 百尺竿头,更进一步.53
二进制介绍 .53
二进制转换 .55
神奇猜牌术 .56
高精度运算 .57
各进制转换 .59
第六章 神工意匠、铁画银钩.61
二次元绘图 .61
三次元绘图 .68
第七章 出处殊途,各行其道.72
if语句(一)
72
if语句(二)
76
if语句(三)
82
第八章 屡变星霜,周而复始.92
一重for循环 92
多重for循环 120
while的使用 .130
第九章 风云变幻,鬼神莫测.139
猜数字游戏 .139
随机数猜测 .140
石头剪刀布 .141
浩瀚星辰海 .143
电脑艺术家 .144
第十章 贝联珠贯,井然有序.147
一维的数组 .147
二维的数组 .152
字符的数组 .160
第十一章 分工合作,各司其职.166
函数的介绍 .166
绘制满天星 .169
自定义图形 .170
开关灯游戏 .174
青蛙换位置 .176
简易五子棋 .179
第十二章 咄嗟之间,斗转星移.181
三维展示台 .181
七星绕紫薇 .182
简陋的小屋 .185
太阳系模型 .187
目 录
VII
第十三章 镜花水月,美轮美奂.190
递归初入门 .190
简单递归图 .194
多重递归图 .207
循环中递归 .214
第十四章 亦真亦幻,造化游戏.220
八皇后问题 .220
扫雷小游戏 .224
推箱子游戏 .227
贪吃蛇游戏 .231
汉诺塔游戏 .234
空战小游戏 .236
附录240
绘图函数库 .240
控制台函数 .240
控制函数 .246
绘制函数 .247
文件操作函数 .249
随机数函数 .250
绘图窗口函数 .250
语音函数 .253
声音函数 .254
画笔函数 .254
数学函数 .256
转字符串函数 .257
多线程函数 .257
模型库函数 .258
实时绘制语句 .268
常用函数库 .268
分类函数 .268
数学函数 .269
进程函数 .269
转换函数库 .270
输入输出函数库 .270
string用法 .270
操作符 .270
操作函数 .271
运算优先级 .272
问题及解答 .273
参考文献280
序言
2017年7月20日,国务院印发《新一代人工智能发展规划》,规划指出:人工智能已成为
国际竞争的新焦点,应逐步开展全民智能教育项目,鼓励社会力量参与寓教于乐的编程教学软件、
游戏的开发和推广,在中小学阶段设置人工智能相关课程,逐步推广编程教育,建设人工智能学科,
培养复合型人才,形成我国人工智能人才高地。
可以预见,人工智能正在悄然引发一场“革命”,人类的社会生活将被深刻改变。一个显而
易见的事实是:“当人工智能时代来临,未来孩子无论从事什么行业,都得学点计算机知识,懂
点编程思维,才能跟得上时代发展的大潮。”
但长期以来,在人们的普遍印象中,程序代码犹如天书般枯燥难懂,学习编程似乎只有那些
极少数聪明的孩子才能学得下去,所以,如何让更多的孩子更容易地学习编程,并进而享受编程
的乐趣,一直是全世界编程教育工作者想要努力解决的问题。
1968年,麻省理工学院(MIT)的人工智能研究室在美国国家科学基金会资助下,开发了一
款名为Logo的编程语言,该语言结合儿童的心理认知特点,通过向前,后退、向左转、向右转、
回家等儿童易于理解的语言和命令,控制屏幕上的“海龟”绘制出简单的二维图形,这种直观的
编程方式能充分引起儿童的兴趣和学习该门语言的积极性,达到寓教于乐的目的。
2007年,又一款由麻省理工学院设计开发的少儿编程工具Scratch迅速风靡世界。该编程工
具的特点是:使用者无须编写一行代码,只需要通过类似乐高积木的方式“堆叠”即可完成程序
的编写,孩子们通过这个工具平台的学习,能快速掌握编程技巧,并在不断地“堆叠”中充分发
挥自己的想象力和创造力。
……
不可否认,这些面向青少年儿童开发的优秀语言和工具吸引了相当多的青少年儿童走上了编
程之路,在普及编程教育的工作中做出了巨大的贡献。但是,对于那些对学习编程有更高期望值
的青少年来说,仅学习这些仍是意犹未尽的。原因很简单:这些语言从某种意义上只能看作“玩
具式的编程语言”,和编程界真正流行的编程语言差之甚远,用来做初期的启蒙可以,如果想继
续深入学习,后期必然要更换诸如Java、C++等成熟的工业化编程语言;此外,学习者也无法用
这类语言参加中学阶段的全国青少年信息学奥林匹克系列竞赛以及大学阶段的国际大学生程序设
计竞赛。
那么,有没有一种编程工具,能够一步到位,既满足小学、初中、高中、大学甚至工作以后
的编程需要,又能像Logo、Scratch一样简单易学、趣味性强呢?答案是肯定的。Dev-C++智能开发平台就是笔者在Dev-C++ 5.x的基础上,结合OpenGL三维动画引擎等技术改进开发的,最
适合初学者学习C++语言的编程平台之一。
首先,Dev-C++智能开发平台是在标准的C++语言基础上扩展而成的,众所周知,C++语
言几十年来一直是最流行的编程语言之一,熟悉了C++语言之后,再学其他的编程语言易如反掌,
例如目前最流行的Java语言其实就是从C++语言改进而来的。……
其次,Dev-C++智能开发平台不仅模仿了Logo语言的二维绘图功能,更进一步地,
Dev-C++可以轻松地绘制出三维图形、轻松地实现三维动画、轻松地实现基于语音交流的弱人工
智能、轻松地开发桌面小游戏……
近一年的测试表明,Dev-C++智能开发平台能够极大地激发孩子们学习计算机编程的兴趣,
使孩子们在新颖有趣、寓教于乐的编程过程中逐渐培养出计算思维。
当然,由于时间和水平有限,Dev-C++智能开发平台以及本书难免存在不妥之处,欢迎同仁
或读者赐正……。
本书的大部分手绘插图由张琪曼完成。
本书校对由浙江省瑞安中学张直航、杜皓楠、郑心浩、叶昊宇、陈相奕、薛羽、彭晨晗、潘
琪瑶、木超楠、徐亦佳等同学完成。
……
感谢浙江省瑞安中学陈良明校长、程志强副校长、金晓涛副校长、邵华主任、林娜主任对本
人工作的支持。
感谢金华浩润文化传播有限公司方金芳经理的鼎力支持。
感谢浙江省瑞安中学边楚女老师、李海容老师,合肥市栢景湾小学赵伟老师,福建省安溪第
一中学曾小清老师的真诚建议。
感谢所有支持和帮助的朋友!
张新华
2017年9月22日于浙江瑞安
文摘
第三章 抑扬顿挫,余音绕梁
开始学音乐时,老师都会教我们唱do re mi fa so la si,在音乐中它们是非常重要的七个音,
而最基本的C大调音阶就是靠它们组成的,如图3.1所示。
图 3.1
Dev-C++智能开发平台可以编程将这七个音用高音、中音、低音的方式来播放。高音、
中音、低音分别用1,0,-1来表示,而do re mi fa so la si分别用1,2,3,4,5,6,7
来表示。
例如Sound(1,0,0.5);表示do音用中音来播放,时长为0.5秒。Sound(2,-1,0.8);表示re音用低
音来播放,时长为0.8秒。
【例3.2】 试编程播放《两只老虎》的乐曲。《两只老虎》的简谱如图3.2所示。
编程,原来可以如此简单、有趣!
作者简介
作者:张新华
张新华,浙江大学计算机科学与技术学士学位,厦门大学软件工程硕士学位,浙江省瑞安中学信息学奥赛金牌教练,中学高级教师,省信息技术教材的编写者之一,培养的学生多次获全国青少年信息学奥林匹克联赛一等奖和亚洲与太平洋地区信息学奥林匹克竞赛金牌,培养的学生多次在全国智能机器人竞赛中获全国冠军及全国一等奖,全国优质课一等奖获得者,2016年在清华大学出版社出版《算法竞赛宝典》三部共约200万字,独立开发和改进了基于OpenGL引擎的三维图形化C++编程工具—Dev-C++智能开发平台。
目录
第一章 欲善其事,必利其器.1
软件的介绍 .1
茶壶的绘制 .5
实时绘图形 .12
第二章 小试牛刀,初露锋芒.14
向世界问好 .14
绘制字符画 .16
第三章 抑扬顿挫,余音绕梁.20
奏高山流水 .20
诵千古绝句 .23
用语音聊天 .25
做声控电脑 .26
第四章 追风逐电,毫发不伤.28
使用运算符 .28
数据的输入 .49
第五章 百尺竿头,更进一步.53
二进制介绍 .53
二进制转换 .55
神奇猜牌术 .56
高精度运算 .57
各进制转换 .59
第六章 神工意匠、铁画银钩.61
二次元绘图 .61
三次元绘图 .68
第七章 出处殊途,各行其道.72
if语句(一)
72
if语句(二)
76
if语句(三)
82
第八章 屡变星霜,周而复始.92
一重for循环 92
多重for循环 120
while的使用 .130
第九章 风云变幻,鬼神莫测.139
猜数字游戏 .139
随机数猜测 .140
石头剪刀布 .141
浩瀚星辰海 .143
电脑艺术家 .144
第十章 贝联珠贯,井然有序.147
一维的数组 .147
二维的数组 .152
字符的数组 .160
第十一章 分工合作,各司其职.166
函数的介绍 .166
绘制满天星 .169
自定义图形 .170
开关灯游戏 .174
青蛙换位置 .176
简易五子棋 .179
第十二章 咄嗟之间,斗转星移.181
三维展示台 .181
七星绕紫薇 .182
简陋的小屋 .185
太阳系模型 .187
目 录
VII
第十三章 镜花水月,美轮美奂.190
递归初入门 .190
简单递归图 .194
多重递归图 .207
循环中递归 .214
第十四章 亦真亦幻,造化游戏.220
八皇后问题 .220
扫雷小游戏 .224
推箱子游戏 .227
贪吃蛇游戏 .231
汉诺塔游戏 .234
空战小游戏 .236
附录240
绘图函数库 .240
控制台函数 .240
控制函数 .246
绘制函数 .247
文件操作函数 .249
随机数函数 .250
绘图窗口函数 .250
语音函数 .253
声音函数 .254
画笔函数 .254
数学函数 .256
转字符串函数 .257
多线程函数 .257
模型库函数 .258
实时绘制语句 .268
常用函数库 .268
分类函数 .268
数学函数 .269
进程函数 .269
转换函数库 .270
输入输出函数库 .270
string用法 .270
操作符 .270
操作函数 .271
运算优先级 .272
问题及解答 .273
参考文献280
序言
2017年7月20日,国务院印发《新一代人工智能发展规划》,规划指出:人工智能已成为
国际竞争的新焦点,应逐步开展全民智能教育项目,鼓励社会力量参与寓教于乐的编程教学软件、
游戏的开发和推广,在中小学阶段设置人工智能相关课程,逐步推广编程教育,建设人工智能学科,
培养复合型人才,形成我国人工智能人才高地。
可以预见,人工智能正在悄然引发一场“革命”,人类的社会生活将被深刻改变。一个显而
易见的事实是:“当人工智能时代来临,未来孩子无论从事什么行业,都得学点计算机知识,懂
点编程思维,才能跟得上时代发展的大潮。”
但长期以来,在人们的普遍印象中,程序代码犹如天书般枯燥难懂,学习编程似乎只有那些
极少数聪明的孩子才能学得下去,所以,如何让更多的孩子更容易地学习编程,并进而享受编程
的乐趣,一直是全世界编程教育工作者想要努力解决的问题。
1968年,麻省理工学院(MIT)的人工智能研究室在美国国家科学基金会资助下,开发了一
款名为Logo的编程语言,该语言结合儿童的心理认知特点,通过向前,后退、向左转、向右转、
回家等儿童易于理解的语言和命令,控制屏幕上的“海龟”绘制出简单的二维图形,这种直观的
编程方式能充分引起儿童的兴趣和学习该门语言的积极性,达到寓教于乐的目的。
2007年,又一款由麻省理工学院设计开发的少儿编程工具Scratch迅速风靡世界。该编程工
具的特点是:使用者无须编写一行代码,只需要通过类似乐高积木的方式“堆叠”即可完成程序
的编写,孩子们通过这个工具平台的学习,能快速掌握编程技巧,并在不断地“堆叠”中充分发
挥自己的想象力和创造力。
……
不可否认,这些面向青少年儿童开发的优秀语言和工具吸引了相当多的青少年儿童走上了编
程之路,在普及编程教育的工作中做出了巨大的贡献。但是,对于那些对学习编程有更高期望值
的青少年来说,仅学习这些仍是意犹未尽的。原因很简单:这些语言从某种意义上只能看作“玩
具式的编程语言”,和编程界真正流行的编程语言差之甚远,用来做初期的启蒙可以,如果想继
续深入学习,后期必然要更换诸如Java、C++等成熟的工业化编程语言;此外,学习者也无法用
这类语言参加中学阶段的全国青少年信息学奥林匹克系列竞赛以及大学阶段的国际大学生程序设
计竞赛。
那么,有没有一种编程工具,能够一步到位,既满足小学、初中、高中、大学甚至工作以后
的编程需要,又能像Logo、Scratch一样简单易学、趣味性强呢?答案是肯定的。Dev-C++智能开发平台就是笔者在Dev-C++ 5.x的基础上,结合OpenGL三维动画引擎等技术改进开发的,最
适合初学者学习C++语言的编程平台之一。
首先,Dev-C++智能开发平台是在标准的C++语言基础上扩展而成的,众所周知,C++语
言几十年来一直是最流行的编程语言之一,熟悉了C++语言之后,再学其他的编程语言易如反掌,
例如目前最流行的Java语言其实就是从C++语言改进而来的。……
其次,Dev-C++智能开发平台不仅模仿了Logo语言的二维绘图功能,更进一步地,
Dev-C++可以轻松地绘制出三维图形、轻松地实现三维动画、轻松地实现基于语音交流的弱人工
智能、轻松地开发桌面小游戏……
近一年的测试表明,Dev-C++智能开发平台能够极大地激发孩子们学习计算机编程的兴趣,
使孩子们在新颖有趣、寓教于乐的编程过程中逐渐培养出计算思维。
当然,由于时间和水平有限,Dev-C++智能开发平台以及本书难免存在不妥之处,欢迎同仁
或读者赐正……。
本书的大部分手绘插图由张琪曼完成。
本书校对由浙江省瑞安中学张直航、杜皓楠、郑心浩、叶昊宇、陈相奕、薛羽、彭晨晗、潘
琪瑶、木超楠、徐亦佳等同学完成。
……
感谢浙江省瑞安中学陈良明校长、程志强副校长、金晓涛副校长、邵华主任、林娜主任对本
人工作的支持。
感谢金华浩润文化传播有限公司方金芳经理的鼎力支持。
感谢浙江省瑞安中学边楚女老师、李海容老师,合肥市栢景湾小学赵伟老师,福建省安溪第
一中学曾小清老师的真诚建议。
感谢所有支持和帮助的朋友!
张新华
2017年9月22日于浙江瑞安
文摘
第三章 抑扬顿挫,余音绕梁
开始学音乐时,老师都会教我们唱do re mi fa so la si,在音乐中它们是非常重要的七个音,
而最基本的C大调音阶就是靠它们组成的,如图3.1所示。
图 3.1
Dev-C++智能开发平台可以编程将这七个音用高音、中音、低音的方式来播放。高音、
中音、低音分别用1,0,-1来表示,而do re mi fa so la si分别用1,2,3,4,5,6,7
来表示。
例如Sound(1,0,0.5);表示do音用中音来播放,时长为0.5秒。Sound(2,-1,0.8);表示re音用低
音来播放,时长为0.8秒。
【例3.2】 试编程播放《两只老虎》的乐曲。《两只老虎》的简谱如图3.2所示。
ISBN | 9787302500896,7302500894 |
---|---|
出版社 | 清华大学出版社有限公司 |
作者 | 张新华 |
尺寸 | 16 |