三维图形化C++趣味编程
上QQ阅读APP看书,第一时间看更新

前 言

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++语言改进而来的。全国青少年信息学奥林匹克竞赛系列比赛的唯一指定语言也是C++,更重要的是,Dev-C++也是比赛指定的编程工具之一

其次,Dev-C++智能开发平台不仅模仿了Logo语言的二维绘图功能,更进一步地,Dev-C++可以轻松地绘制出三维图形、轻松地实现三维动画、轻松地实现基于语音交流的弱人工智能、轻松地开发桌面小游戏……

近一年的测试表明,Dev-C++智能开发平台能够极大地激发孩子们学习计算机编程的兴趣,使孩子们在新颖有趣、寓教于乐的编程过程中逐渐培养出计算思维。

当然,由于时间和水平有限,Dev-C++智能开发平台以及本书难免存在不妥之处,欢迎同仁或读者赐正,如果在使用过程中发现任何问题,请发送电子邮件到hiapollo@sohu.com,更希望读者对本书及软件提出建设性意见以便进一步改进。

本书的大部分手绘插图由张琪曼完成。

本书校对由浙江省瑞安中学张直航、杜皓楠、郑心浩、叶昊宇、陈相奕、薛羽、彭晨晗、潘琪瑶、木超楠、徐亦佳等同学完成。

Dev-C++智能开发平台的下载地址及本书的部分资源在www.razxhoi.com。

感谢浙江省瑞安中学陈良明校长、程志强副校长、金晓涛副校长、邵华主任、林娜主任对本人工作的支持。

感谢金华浩润文化传播有限公司方金芳经理的鼎力支持。

感谢浙江省瑞安中学边楚女老师、李海容老师,合肥市栢景湾小学赵伟老师,福建省安溪第一中学曾小清老师的真诚建议。

感谢所有支持和帮助的朋友!

张新华

2017年9月22日于浙江瑞安