人类能够掌控世界,最大的优势在于其学习和知识归纳提高的能力。人类在处理不同类别的问题时,如果问题以前遇到过、或者可采取日常生活中的类比,则往往会加速对问题的理解,从而提出较可靠的解决方案,用计算机科学的基础概念对这些人类行为进行理解,属于计算思维的范畴。
计算思维案例PPT
例如,在将一组数据排序时,联想到上体育课时按身高排队的过程,人类行为往往采用如下实现过程:
step1:从所有人中挑选最高者。
step2:将最高者放在一个位置p0。
step3:从剩余学生中再找最高者。
step4:将其排在p0旁边的位置p1。依此类推,将继续挑选出来的人选放到p2,…,pn的位置,就可以完成排序过程。
可以进一步设想,如果在step1挑选第一个学生时就认为是从“剩余的学生中挑选最高者”,则可以将上述过程变通为反复重复step3,step4即可。对计算机而言,这种反复就是循环做某件事情,也是自动化的基础。
可以进一步给上述的排序过程增加一点限制,即在不增加额外空间存储需求的情况下完成排序。解决该限制可以通过记录新挑选出来的学生应该存放的位置k和该学生目前所在的位置i,并将这两个位置的学生进行交换来进行。因此用计算机来完成排序的过程就可以描述为:
开始:将所有学生身高数据保存到表L中。
Step1:当前应存放位置k=0。
Step2:进入循环。(www.daowen.com)
Step3:从剩余学生中找最高者的位置i。
Step4:交换L中位置k和i的学生。
Step5:位置k增加1。
Step6:如果k等于学生总数,结束,否则转step3。
上述过程,从一个生活中的例子,去理解问题的计算机实现,及实现自动化时应重点考虑的问题。
再如一组数据去重复项的过程,数据已存储在一个表中,因为删除重复数据还涉及数据项之间的前后关系及数据移动的问题,因而逻辑比较复杂。此时,如果类比日常生活中的例子:统计一个装有不同颜色小球的袋子里的小球共有几种颜色,它也属于去重问题。可以设想如下的步骤:
Step1:从袋子中取出一个小球。
Step2:比对这种颜色是否没记录,如果记录了,则丢弃,否则将该颜色加到色彩记录集中。
Step3:如果袋子空了,结束;否则转向Step1。
采用上述过程,去重过程就变得很简单。该案例也很好地体现了计算思维中提到的在算法与存储之间寻求平衡的方法:牺牲了部分存储空间而使逻辑简化。在数据处理的程序设计中,尽量类比日常生活中的例子,可以有效提高对问题的理解深度,从而达到简化逻辑的目的。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。