4个步骤,教你⽤编程思维⾼效解决问题
提到“编程思维”,你会不会⽴马联想到⼀个穿着格⼦衫、耷拉着⿊眼圈的程序员熬夜通宵写代码的场景?
什么是编程举个例子如果你点了点头,那么你对“编程思维”的误会,太深了。“编程思维”不是编写程序的技巧,⽽是⼀种⾼效解决问题的思维⽅式,是⼀种“理解问题——出路径”的思维过程。
因此,编程思维并⾮程序员的专属。⼩到洗⾐做饭,⼤到公司决策,都存在编程思维的影⼦。
编程思维包含四个步骤:分解问题—识别模式—抽象—算法。
本⽂将通过⽣活案例,帮助你理解编程思维的四个步骤并学会使⽤编程思维解决⽣活中的问题。
学会分解问题
分解问题,是指把⼀个复杂的⼤问题,拆解成更可执⾏、更好理解的⼩步骤。
⽣活中,拆分的应⽤随处可见。
⽐如当你准备吃⼀个西⽠时,你并不会直接啃⼀整个。你会把它切块,再⼀⼝⼀⼝吃。这就是把⼀个问题拆分,然后逐个解决的过程。
再⽐如,我们想⽤编程给「超级马⾥奥」设计⼀个新的关卡。⾯对游戏那么⼀个庞然⼤物,我们要怎么分解呢?
我们可以把「超级马⾥奥」的关卡分解成游戏场景图、主⼈公马⾥奥、吃了可以长⼤的蘑菇、以及敌⽅-栗⼦⼩⼦等。这样我们就完成了新关卡制作这个⼤问题的分解。
学会识别模式
模式识别是指出相似模式,⾼效解决细分问题。
天⽓预报通过以往的经验和数据对未来的天⽓进⾏预测,这就是在识别模式。
再⽐如,买4瓶单价4元的⽜奶花了4x4=16元,我们知道了“单价X数量=总价”的模式,当再去购买3个单价为7元的巧克⼒时,我们识别这是跟上次购买⽜奶时相似的模式,可以很快算出其总价为7x3=21元。
继续以给「超级马⾥奥」设计新关卡为例。在设计时,我们参考前⾯⼏个关卡的模式对新关卡的游戏场景图、主⼈公马⾥奥、吃了可以长⼤的蘑菇、以及敌⽅-栗⼦⼩⼦等的设定,这也是识别模式。
识别模式,其实就意味着把新问题变成了⽼问题,我们在以往经验中搜索类似经验,套⽤类似的解决办法。
学会运⽤抽象
抽象,就是聚焦最重要的信息,忽视⽆⽤细节。
⽐如,我们将1只⼗分熟悉的猫咪放⼊5只陌⽣的猫咪中,⼀开始仅靠形象记忆,就可轻⽽易举到这只猫咪。
但如果把这只熟悉的猫放⼊50只、100只、1000只陌⽣的猫中,我们仅靠形象记忆到猫的困难会越来越⼤,⼤到不可能。
我们如果记住这只猫咪⾝上的⼀个特点,作为它的标记,问题⽴马会变得简单。
这个标记的过程,就是聚焦最重要的信息,忽视⽆⽤细节,也就是“抽象”。
当我们遇到没有见过的事物或者问题时,如果能运⽤抽象的思维去寻解决问题的关键因素,即事物之间存在的联系,那我们解决问题的效率也会有所提⾼。
算法设计
算法设计,就是设计⼀步⼀步的解决路径,从⽽解决整个问题。
举个简单的例⼦,某⼤型停车场对于进⼊该场地的车辆有如下规定:
1、进⼊该停车场必须为客运车辆,货运车辆谢绝⼊内。
2、如果该车的乘员数量⼩于等于4,则收费五元。
3、如果该车的乘员数量⼤于4⼈,则收费⼋元。
我们要根据停车场的规定,做的算法如下:
1、先判断车型是否是客运车辆,如果是,进⼊下⼀步,如果不是,不许进⼊。
2、判断乘员数,如果乘员数⼩于等于4,收费五元,允许进⼊,如果不是,收费⼋元,允许进⼊。
当我们掌握了以上四个步骤,锻炼了⾃⼰的编程思维,在遇到问题时,就能够将问题清晰具体地描述出来,并将问题的解决⽅案处理成为⼀个个处理流程。