大家好,欢迎来到IT知识分享网。
提到“编程思维”,你会不会立马联想到一个穿着格子衫、耷拉着黑眼圈的程序员熬夜通宵写代码的场景?
如果你点了点头,那么你对“编程思维”的误会,太深了。“编程思维”不是编写程序的技巧,而是一种高效解决问题的思维方式,是一种“理解问题——找出路径”的思维过程。
因此,编程思维并非程序员的专属。小到洗衣做饭,大到公司决策,都存在编程思维的影子。
编程思维包含四个步骤:分解问题—识别模式—抽象—算法。本文将通过生活案例,帮助你理解编程思维的四个步骤并学会使用编程思维解决生活中的问题。
学会分解问题
分解问题,是指把一个复杂的大问题,拆解成更可执行、更好理解的小步骤。
生活中,拆分的应用随处可见。
比如当你准备吃一个西瓜时,你并不会直接啃一整个。你会把它切块,再一口一口吃。这就是把一个问题拆分,然后逐个解决的过程。
再比如,我们想用编程给「超级马里奥」设计一个新的关卡。面对游戏那么一个庞然大物,我们要怎么分解呢?
我们可以把「超级马里奥」的关卡分解成游戏场景图、主人公马里奥、吃了可以长大的蘑菇、以及敌方-栗子小子等。这样我们就完成了新关卡制作这个大问题的分解。
学会识别模式
模式识别是指找出相似模式,高效解决细分问题。
天气预报通过以往的经验和数据对未来的天气进行预测,这就是在识别模式。
再比如,买4瓶单价4元的牛奶花了4×4=16元,我们知道了“单价X数量=总价”的模式,当再去购买3个单价为7元的巧克力时,我们识别这是跟上次购买牛奶时相似的模式,可以很快算出其总价为7×3=21元。
继续以给「超级马里奥」设计新关卡为例。在设计时,我们参考前面几个关卡的模式对新关卡的游戏场景图、主人公马里奥、吃了可以长大的蘑菇、以及敌方-栗子小子等的设定,这也是识别模式。
识别模式,其实就意味着把新问题变成了老问题,我们在以往经验中搜索类似经验,套用类似的解决办法。
学会运用抽象
抽象,就是聚焦最重要的信息,忽视无用细节。
比如,我们将1只十分熟悉的猫咪放入5只陌生的猫咪中,一开始仅靠形象记忆,就可轻而易举找到这只猫咪。
但如果把这只熟悉的猫放入50只、100只、1000只陌生的猫群中,我们仅靠形象记忆找到猫的困难会越来越大,大到不可能。
我们如果记住这只猫咪身上的一个特点,作为它的标记,问题立马会变得简单。
这个标记的过程,就是聚焦最重要的信息,忽视无用细节,也就是“抽象”。
当我们遇到没有见过的事物或者问题时,如果能运用抽象的思维去寻找解决问题的关键因素,即事物之间存在的联系,那我们解决问题的效率也会有所提高。
算法设计
算法设计,就是设计一步一步的解决路径,从而解决整个问题。
举个简单的例子,某大型停车场对于进入该场地的车辆有如下规定:
1、 进入该停车场必须为客运车辆,货运车辆谢绝入内。
2、 如果该车的乘员数量小于等于4,则收费五元。
3、 如果该车的乘员数量大于4人,则收费八元。
我们要根据停车场的规定,做的算法如下:
1、先判断车型是否是客运车辆,如果是,进入下一步,如果不是,不许进入。
2、判断乘员数,如果乘员数小于等于4,收费五元,允许进入,如果不是,收费八元,允许进入。
我们根据前几步的分析成果,设计步骤,写出算法,从而解决了问题,这就是算法设计。
当我们在工作和生活中遇到问题时,可以尝试通过以上四个步骤,将问题清晰具体地描述出来,并将问题的解决方案处理成为一个个处理流程。长此以往,我们的编程思维将会一步一步建立哦!
最后免费分享给大家一份Python全套学习资料,包含视频、源码,课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、Python练习题
检查学习结果。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
因篇幅有限,仅展示部分资料,需要的同学用vx扫描上方二维码即可获取‘
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/136073.html