编程思维是一种什么样的思维。

是一种互动哲学,如何和计算机沟通和说话的思维。你表达的越具体,明确,有效。计算机执行的过程就越好。

编程能力的基础在于从小开始对编程思维与解决能力的锻炼。

编程思维“发现问题到解决问题”的思维过程。

可分为四个部分:问题分解,抽象,模式问题,算法执行。

 

一、分解思维是一个将大问题拆解成许多小部分,这些小部分更容易理解,让问题更加容易解决。

 

生活中,拆分的应用随处可见。

比如当你准备吃一个西瓜时,你并不会直接啃一整个。你会把它切块,再一口一口吃。这就是把一个问题拆分,然后逐个解决的过程。

再比如,我们项用编程给[超级马里奥]设计一个新的关卡。面对游戏那么一个庞然大物,要怎么分解呢?我们可以把[超级马里奥]的关卡分解成游戏场景图、主人公马里奥、吃了可以长大的蘑菇、以及敌方--栗子小子等。这样我们就完成了新关卡制作这个大问题的分解。

 

二、模式识别是识别不同问题中的模式和趋势(共同点)的过程。你能从以往的经验中得到规律并且举一反三将它运用到其他问题中。

天气预报通过以往的经验和数据对未来的天气进行预测,这就是在识别模式。

再比如,买四瓶单价4元的牛奶花了4*4 = 16元,我们知道了“单价*数量=总价”的模式,当再去购买3个单价为7元的巧克力时,我们识别这是跟上次购买牛奶相似的模式,可以很快算出其总价为7*3=21元。

继续给[超级马里奥]设计新关卡为例,在设计时,我们参考前面几个关卡的模式对新关卡的游戏场景图、主人公马里奥、吃了可以长大的蘑菇,以及敌方--栗子小子的等的设定,这也是识别模式。

识别模式,其实就意味着把新问题变成老问题了,我们在以往经验中搜索类似经验,套用类似的解决办法。

 

抽象理解是关注关键信息,忽略不必要细节的过程。

抽象,就是聚焦较重要的信息,忽视无用细节。

比如,我们将1只十分熟悉的猫放入50只、100只、1000只陌生的猫群中,我们仅靠形象记忆找到猫的困难会越来越大,大到不可能。

我们如果记住这只猫咪身上的一个特点,作为它的标记,问题立马就变得简单。

这个标记的过程,就是聚焦较重要的信息,忽视无用细节,也就是“抽象”。

当我们遇到没有见过的事物或者问题时,如果能运用抽象思维去寻找解决问题的关键因素,即事物之间存在的联系,那我们解决问题的效率也会有所提高。

算法设计

算法设计,就是设计一步一步的解决路径,从而解决整个问题。

举个简单的例子,某大型停车场对于进入该场地的车辆有如下规定:

进入该停车场必须为客运车辆,货运车辆谢绝入内。

如果该车的乘员数量小于等于4,收费五元,允许进入。

如果该车的乘员数量大于4人,收费8元。

根据停车场的规定,做的算法如下:

先判断车型是否是客运车辆,如果是,进入下一步,如果不是,不许进入。

判断乘员数,如果乘员数小于等于4,收费五元,允许进入,如果不是,收费8元,允许进入。

当我们在工作和生活中遇到问题时,可以尝试通过以上四个步骤,将问题清晰具体的描述出来,并将问题的解决方案成为一个个处理流程。长此以往,我们的编程思维将会一步一步建立。