少儿计算思维养成记:六个孩子的编程学习笔记
上QQ阅读APP看书,第一时间看更新

四、教师点评

解决复杂问题的基本思路有两点:

  • 第一点是分解:我们把复杂问题分解成很多小的问题,分别独立地解决各种小问题,然后合并起来后就解决了最初的大问题。例如,建房子可分解为制作墙壁、制作门框、制作窗户、制作屋顶,把这些步骤拼起来,就可以建一幢房子。
  • 第二点是抽象:所谓抽象,就是概括。以图7-3为例,积木块的名字“画三角形”就是概括。是谁的概括呢?就是对它下面那些指令的概括。

除了把脚本变简洁之外,定义过程还有其他的好处:有助于厘清思路;复杂的程序需要多个人一起完成,我们把程序划分成一个一个的过程(叫作“模块化”),再定义好过程之间的接口,每个人就可以独立开发了。

在动手练的实验里,我们把“画蜘蛛网”拆分成“画六边形”模块,并进一步拆分成“画三角形”模块。在课后作业的实验里,我们把“画彩虹风车”拆分成“画单色风车”模块,并进一步拆分成“画三角形”模块。通过这两个实验的锻炼,孩子们基本上掌握了“分解”和“抽象”的思维方式。

调用一个过程时到底发生了什么呢?就是一个三部曲:复制、粘贴、参数替换。这样一来,孩子们就很容易掌握了。当然,还有一些复杂的地方,就是递归过程,这个等到后面再仔细讲。