这个国家的每个人都应该学习如何写计算机程序…..
一直以来关注小扣的家长和小朋友们一定知道
少儿编程能够培养孩子思维能力的成长
那么我们一直所说的编程思维
是一个隐约而抽象的概念,
看不见摸不着,我们怎样去发现孩子思维能力的转变呢?
做完下面这道题,你就能get编程思维的精髓啦!
假设你有一副扑克牌,取出大小王并打乱顺序后,一人随机从中取出一张,如何确定取出的牌?
小编从小就听说过一则传奇事迹
伟大的数学家、物理学家、天文学家、大地测量学家,近代数学奠基人之一的
卡尔·弗里德里希·高斯
这样一个拥有多重头衔的伟大人物
在他少儿时期就巧妙地解决了这个问题
高斯的上述解题思路充分体现了编程思维
就可以概括出求任意范围[a,b]连续整数求和公式
把一个复杂的大问题,拆解成可执行、更好理解的小步骤
将所有无序的牌按照同一大小码好
然后就会知道少了哪张牌
但是如果有100副牌、1000副牌
这种常规操作既耗时又耗力
(献上假笑男孩式凝望)
找出相似模式,高效解决细分问题
如果能联想到高斯的求和方法
同一大小的牌有四张,则所有牌的面值大小为
再将手上的牌面值一张张加起来后用总和减去即可
把问题映射到计算机可以处理的数据
但是我们如果可以把扑克牌花色和数字映射到计算机可以处理的数据
就可以适用以上的求和模型了
不妨按花色来,设红桃A 为1
红桃2 为2 ,依次到K是13
然后方块A为14,到方块K是26
就将问题转化为1+2+……+52的问题
设计一步一步的解决路径,解决整个问题。
当要处理的数据映射到合适的数据结构
可复用的处理模块也都分辨识别出来后
下一步就是利用程序模块
存储容量大、处理速度快
所以计算机最擅长的就是重复劳动
但能够让计算机从事高效的重复劳动的前提
但人要先思考和分析怎样把复杂工作分解成多个可机械重复执行的模块
然后才可以通过程序让计算机来处理
而这步比写程序本身要重要的多
所以说,编程思维的核心
甚至不是算法或数据结构本身
并映射到合适的数据结构和算法上
然后才能根据算法写程序实现
在此过程中,前两步分解和模式识别
其实完全隶属于数学思维范畴
而抽象和算法才是编程思维所独有的
也是在孩子学编程过程中最需要强调的
注意:第二个是1到50
题目描述中算式的值,并保留4位小数。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。