拆解问题的能力
要写一个关于“贪吃蛇”的游戏,刚拿到这个题目,该如何入手?就像上面说到的,要想法子让电脑听懂你的想法。要先做什么,有哪些步骤等,我们先要做的是把这个大问题给拆成小问题。
拆解
在这个程序中,电脑主要处理两件大事:
1.处理输入- 收集用户操作信息
2.输出响应- 根据不同的输入,做出不同响应
再拆解
1.输入- 用户的操作可以有上、下、左、右四种键位
2.输出- 相应地,贪吃蛇也要往上、下、左、右四个方向走动

我们继续拆解第二点
当贪吃蛇每走一步,可能会出现以下几种情况:
1.吃到苹果
2.撞到墙
3.撞到自己
4.什么都没发生
再把点吃到苹果抽出来进行拆解
在这个步骤中,电脑可能做的事情:
蛇张开嘴巴-苹果被咬掉-播放吃苹果的声音-蛇闭上嘴巴-身体长长一截
看起来很简单的一个小程序,拆分后居然会有这么多步骤,但是这仅仅是其中一条分支。孩子学习编程的过程,就是不断地训练他把复杂、庞大的问题拆解理顺的过程。
在生活中,这种思维也可以用到,通过拆解大问题,从而转化为一个个小问题,一一攻破,这样大问题也就解决了。具备这种能力,在之后做事过程中也会比较有耐心,处理事情方面也可以做到有条不紊。
2. 发现并整合“重复规律”的能力
比如在“贪吃蛇游戏中吃苹果”这一动作,在程序中会多次发生,无论是从哪个方向,都是同样一组动作,那么这组动作就可以打包一个组为“吃苹果”。如果需要可以直接运用这个组,而不用再把它包含的动作想一遍。
在编程学习过程中,孩子可以一直进行这样的训练,发现一些可以重复的单元,把它整合起来,让计算机去做重复。这样一来不仅节省时间,还可以大大提高我们的做事效率。
那些做事麻利效率高的人,很多就是具备了这个能力。
创新不一定是做出一个的新产品,对现有的模式进行优化改进,也是一种创新。而发现并整合“重复规律”的能力更容易让我们找到创新的机会。